From bec07d6fd04e3ad77a5bee4734ff11bd63e286bf Mon Sep 17 00:00:00 2001 From: Fazal Khan Date: Fri, 29 Dec 2023 14:58:06 +0000 Subject: [PATCH] Select how often readings or volumes are reported https://eaflood.atlassian.net/browse/WATER-4278 This page will have controls to allow the user to choose how often readings or volumes are reported. This is a stub page. --- .../return-requirements.controller.js | 12 ++++++++ app/routes/return-requirement.routes.js | 12 ++++++++ app/views/return-requirements/frequency.njk | 29 +++++++++++++++++++ .../return-requirements.controller.test.js | 20 +++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 app/views/return-requirements/frequency.njk diff --git a/app/controllers/return-requirements.controller.js b/app/controllers/return-requirements.controller.js index 83cd9531e8..e06bfece8a 100644 --- a/app/controllers/return-requirements.controller.js +++ b/app/controllers/return-requirements.controller.js @@ -140,6 +140,17 @@ async function saveNote (request, h) { return h.redirect(`/system/return-requirements/${id}/returns-check-your-answers`) } +async function returnsFrequency (request, h) { + const { sessionId } = request.params + + const session = await SessionModel.query().findById(sessionId) + + return h.view('return-requirements/frequency.njk', { + activeNavBar: 'search', + ...session + }) +} + module.exports = { addANote, noReturnsCheckYourAnswers, @@ -148,6 +159,7 @@ module.exports = { requirementsApproved, returnsCheckYourAnswers, returnsHowDoYouWant, + returnsFrequency, saveNoReturnsCheckYourAnswers, saveNoReturnsRequired, saveNote, diff --git a/app/routes/return-requirement.routes.js b/app/routes/return-requirement.routes.js index 2b4df020af..f67e14162a 100644 --- a/app/routes/return-requirement.routes.js +++ b/app/routes/return-requirement.routes.js @@ -183,6 +183,18 @@ const routes = [ }, description: 'Save note' } + }, { + method: 'GET', + path: '/return-requirements/{sessionId}/frequency', + handler: ReturnRequirementsController.returnsFrequency, + options: { + auth: { + access: { + scope: ['billing'] + } + }, + description: 'Returns Select how often collected readings or volumes are reported page' + } } ] diff --git a/app/views/return-requirements/frequency.njk b/app/views/return-requirements/frequency.njk new file mode 100644 index 0000000000..1e338f274c --- /dev/null +++ b/app/views/return-requirements/frequency.njk @@ -0,0 +1,29 @@ +{% extends 'layout.njk' %} +{% from "govuk/components/back-link/macro.njk" import govukBackLink %} +{% from "govuk/components/button/macro.njk" import govukButton %} + +{% set title = "Select how often collected readings or volumes are reported" %} +{% set rootLink = "/system/return-requirements/" + id %} + +{% block breadcrumbs %} + {# Back link #} + {{ + govukBackLink({ + text: 'Back', + href: rootLink + "/frequency-collected" + }) + }} +{% endblock %} + +{% block content %} + {# Main heading #} +
+

{{ title }}

+
+ +
+
+ {{ govukButton({ text: "Continue" }) }} +
+
+{% endblock %} diff --git a/test/controllers/return-requirements.controller.test.js b/test/controllers/return-requirements.controller.test.js index 8f32112467..730e51c1f5 100644 --- a/test/controllers/return-requirements.controller.test.js +++ b/test/controllers/return-requirements.controller.test.js @@ -191,4 +191,24 @@ describe('Return requirements controller', () => { }) }) }) + + describe('GET /return-requirements/{sessionId}/frequency', () => { + const options = { + method: 'GET', + url: '/return-requirements/64924759-8142-4a08-9d1e-1e902cd9d316/frequency', + auth: { + strategy: 'session', + credentials: { scope: ['billing'] } + } + } + + describe('when the request succeeds', () => { + it('returns the page successfully', async () => { + const response = await server.inject(options) + + expect(response.statusCode).to.equal(200) + expect(response.payload).to.contain('Select how often collected readings or volumes are reported') + }) + }) + }) })