diff --git a/app/controllers/return-requirements.controller.js b/app/controllers/return-requirements.controller.js index 2dd1cb3232..8cd2d5ae59 100644 --- a/app/controllers/return-requirements.controller.js +++ b/app/controllers/return-requirements.controller.js @@ -16,6 +16,7 @@ async function abstractionPeriod (request, h) { return h.view('return-requirements/abstraction-period.njk', { activeNavBar: 'search', + pageTitle: 'Enter the abstraction period for the return requirement', ...session }) } @@ -27,6 +28,7 @@ async function addNote (request, h) { return h.view('return-requirements/add-note.njk', { activeNavBar: 'search', + pageTitle: 'Add a note', ...session }) } @@ -38,6 +40,7 @@ async function agreementsExceptions (request, h) { return h.view('return-requirements/agreements-exceptions.njk', { activeNavBar: 'search', + pageTitle: 'Select agreements and exceptions for the return requirement', ...session }) } @@ -47,6 +50,7 @@ async function approved (request, h) { return h.view('return-requirements/approved.njk', { activeNavBar: 'search', + pageTitle: 'Returns requirements approved', licenceId }) } @@ -58,6 +62,7 @@ async function checkYourAnswers (request, h) { return h.view('return-requirements/check-your-answers.njk', { activeNavBar: 'search', + pageTitle: `Check the return requirements for ${session?.data?.licence?.licenceHolder}`, ...session }) } @@ -69,6 +74,7 @@ async function frequencyCollected (request, h) { return h.view('return-requirements/frequency-collected.njk', { activeNavBar: 'search', + pageTitle: 'Select how often readings or volumes are collected', ...session }) } @@ -80,17 +86,7 @@ async function frequencyReported (request, h) { return h.view('return-requirements/frequency-reported.njk', { activeNavBar: 'search', - ...session - }) -} - -async function noReturnsCheckYourAnswers (request, h) { - const { sessionId } = request.params - - const session = await SessionModel.query().findById(sessionId) - - return h.view('return-requirements/no-returns-check-your-answers.njk', { - activeNavBar: 'search', + pageTitle: 'Select how often collected readings or volumes are reported', ...session }) } @@ -112,6 +108,7 @@ async function points (request, h) { return h.view('return-requirements/points.njk', { activeNavBar: 'search', + pageTitle: 'Select the points for the return requirement', ...session }) } @@ -123,6 +120,7 @@ async function purpose (request, h) { return h.view('return-requirements/purpose.njk', { activeNavBar: 'search', + pageTitle: 'Select the purpose for the return requirement', ...session }) } @@ -134,6 +132,7 @@ async function reason (request, h) { return h.view('return-requirements/reason.njk', { activeNavBar: 'search', + pageTitle: 'Select the reason for the return requirement', ...session }) } @@ -145,6 +144,7 @@ async function returnsCycle (request, h) { return h.view('return-requirements/returns-cycle.njk', { activeNavBar: 'search', + pageTitle: 'Select the returns cycle for the return requirement', ...session }) } @@ -156,6 +156,7 @@ async function setup (request, h) { return h.view('return-requirements/setup.njk', { activeNavBar: 'search', + pageTitle: 'How do you want to set up the return requirement?', ...session }) } @@ -167,6 +168,7 @@ async function siteDescription (request, h) { return h.view('return-requirements/site-description.njk', { activeNavBar: 'search', + pageTitle: 'Enter a site description for the return requirement', ...session }) } @@ -178,6 +180,7 @@ async function startDate (request, h) { return h.view('return-requirements/start-date.njk', { activeNavBar: 'search', + pageTitle: 'Select the start date for the return requirement', ...session }) } @@ -201,7 +204,11 @@ async function submitAgreementsExceptions (request, h) { } async function submitCheckYourAnswers (request, h) { - const { licenceId } = request.params + const { sessionId } = request.params + + const session = await SessionModel.query().findById(sessionId) + + const { id: licenceId } = session.data.licence return h.redirect(`/system/return-requirements/${licenceId}/approved`) } @@ -218,12 +225,6 @@ async function submitFrequencyReported (request, h) { return h.redirect(`/system/return-requirements/${sessionId}/agreements-exceptions`) } -async function submitNoReturnsCheckYourAnswers (request, h) { - const { licenceId } = request.params - - return h.redirect(`/system/return-requirements/${licenceId}/approved`) -} - async function submitNoReturnsRequired (request, h) { const { sessionId } = request.params const validation = NoReturnsRequiredValidator.go(request.payload) @@ -233,7 +234,7 @@ async function submitNoReturnsRequired (request, h) { return h.view('return-requirements/no-returns-required.njk', pageData) } - return h.redirect(`/system/return-requirements/${sessionId}/no-returns-check-your-answers`) + return h.redirect(`/system/return-requirements/${sessionId}/check-your-answers`) } async function submitPoints (request, h) { @@ -292,7 +293,6 @@ module.exports = { checkYourAnswers, frequencyCollected, frequencyReported, - noReturnsCheckYourAnswers, noReturnsRequired, points, purpose, @@ -307,7 +307,6 @@ module.exports = { submitCheckYourAnswers, submitFrequencyCollected, submitFrequencyReported, - submitNoReturnsCheckYourAnswers, submitNoReturnsRequired, submitPoints, submitPurpose, diff --git a/app/presenters/return-requirements/no-returns-required.presenter.js b/app/presenters/return-requirements/no-returns-required.presenter.js index f08da54c08..98b8ab44a1 100644 --- a/app/presenters/return-requirements/no-returns-required.presenter.js +++ b/app/presenters/return-requirements/no-returns-required.presenter.js @@ -10,16 +10,15 @@ const { reasonNewRequirementsFields } = require('../../lib/static-lookups.lib.js function go (session, error = null) { const data = { id: session.id, - activeNavBar: 'search', - errorMessage: _error(session, error), + errorMessage: _error(error), licenceRef: session.data.licence.licenceRef, - radioItems: _radioButtons(session) + radioItems: _radioItems(session) } return data } -function _error (session, error) { +function _error (error) { if (!error) { return null } @@ -31,7 +30,7 @@ function _error (session, error) { return errorMessage } -function _radioButtons (session) { +function _radioItems (_session) { const radioItems = [ { value: reasonNewRequirementsFields[0], diff --git a/app/routes/return-requirement.routes.js b/app/routes/return-requirement.routes.js index 1a209b2b5b..4e88e942f8 100644 --- a/app/routes/return-requirement.routes.js +++ b/app/routes/return-requirement.routes.js @@ -110,7 +110,7 @@ const routes = [ { method: 'POST', path: '/return-requirements/{sessionId}/check-your-answers', - handler: ReturnRequirementsController.checkYourAnswers, + handler: ReturnRequirementsController.submitCheckYourAnswers, options: { auth: { access: { @@ -172,32 +172,6 @@ const routes = [ description: 'Submit how often collected readings or volumes are reported' } }, - { - method: 'GET', - path: '/return-requirements/{sessionId}/no-returns-check-your-answers', - handler: ReturnRequirementsController.noReturnsCheckYourAnswers, - options: { - auth: { - access: { - scope: ['billing'] - } - }, - description: 'Check your answers' - } - }, - { - method: 'POST', - path: '/return-requirements/{sessionId}/no-returns-check-your-answers', - handler: ReturnRequirementsController.submitNoReturnsCheckYourAnswers, - options: { - auth: { - access: { - scope: ['billing'] - } - }, - description: 'Submit check your answers' - } - }, { method: 'GET', path: '/return-requirements/{sessionId}/no-returns-required', diff --git a/app/services/return-requirements/no-returns-required.service.js b/app/services/return-requirements/no-returns-required.service.js index 56b65102f2..2cef85a989 100644 --- a/app/services/return-requirements/no-returns-required.service.js +++ b/app/services/return-requirements/no-returns-required.service.js @@ -24,9 +24,13 @@ const SessionModel = require('../../models/session.model.js') */ async function go (sessionId, error = null) { const session = await SessionModel.query().findById(sessionId) - const pageData = NoReturnsRequiredPresenter.go(session, error) + const formattedData = NoReturnsRequiredPresenter.go(session, error) - return pageData + return { + activeNavBar: 'search', + pageTitle: 'Why are no returns required?', + ...formattedData + } } module.exports = { diff --git a/app/views/return-requirements/abstraction-period.njk b/app/views/return-requirements/abstraction-period.njk index 01781e7ba6..ece1076b9e 100644 --- a/app/views/return-requirements/abstraction-period.njk +++ b/app/views/return-requirements/abstraction-period.njk @@ -2,8 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Enter the abstraction period for the return requirement -" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -19,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/add-note.njk b/app/views/return-requirements/add-note.njk index d74e4acedc..46d3854aee 100644 --- a/app/views/return-requirements/add-note.njk +++ b/app/views/return-requirements/add-note.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Add a note" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} {# Back link #} @@ -17,7 +16,7 @@ {% block content %} {# Main heading #}
-

{{title}}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/agreements-exceptions.njk b/app/views/return-requirements/agreements-exceptions.njk index e6bc4b693c..37ce05753a 100644 --- a/app/views/return-requirements/agreements-exceptions.njk +++ b/app/views/return-requirements/agreements-exceptions.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Select agreements and exceptions for the return requirement" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/approved.njk b/app/views/return-requirements/approved.njk index e075eabc63..dd41bbca2f 100644 --- a/app/views/return-requirements/approved.njk +++ b/app/views/return-requirements/approved.njk @@ -1,17 +1,15 @@ {% extends 'layout.njk' %} {% from "govuk/components/panel/macro.njk" import govukPanel %} -{% set title = "What happens next" %} - {% block content %} {{ govukPanel({ - titleText: "Returns requirements approved", + titleText: pageTitle, classes: "govuk-!-margin-bottom-4" }) }} -

{{title}}

+

What happens next

These return requirements are now active and returns will be opened for this licence in the next returns cycle.

- Return to licence set up + Return to licence set up

{% endblock %} diff --git a/app/views/return-requirements/check-your-answers.njk b/app/views/return-requirements/check-your-answers.njk index bee438804d..6f4cb4c591 100644 --- a/app/views/return-requirements/check-your-answers.njk +++ b/app/views/return-requirements/check-your-answers.njk @@ -1,12 +1,10 @@ {% extends 'layout.njk' %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Check your answers" %} - {% block content %} {# Main heading #}
-

{{title}}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/frequency-collected.njk b/app/views/return-requirements/frequency-collected.njk index e670227488..57ab84a0cb 100644 --- a/app/views/return-requirements/frequency-collected.njk +++ b/app/views/return-requirements/frequency-collected.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Select how often readings or volumes are collected" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/frequency-reported.njk b/app/views/return-requirements/frequency-reported.njk index 1e338f274c..339eafdaa6 100644 --- a/app/views/return-requirements/frequency-reported.njk +++ b/app/views/return-requirements/frequency-reported.njk @@ -2,7 +2,6 @@ {% 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 %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/no-returns-check-your-answers.njk b/app/views/return-requirements/no-returns-check-your-answers.njk deleted file mode 100644 index dbce711b18..0000000000 --- a/app/views/return-requirements/no-returns-check-your-answers.njk +++ /dev/null @@ -1,18 +0,0 @@ -{% extends 'layout.njk' %} -{% from "govuk/components/button/macro.njk" import govukButton %} - -{% set title = "Check your answers" %} - -{% block content %} - {# Main heading #} -
-

{{title}}

-
- - -
- {{ govukButton({ text: "Approve returns requirements" }) }} -
-
- -{% endblock %} diff --git a/app/views/return-requirements/no-returns-required.njk b/app/views/return-requirements/no-returns-required.njk index bb3404e6c2..8b7a969416 100644 --- a/app/views/return-requirements/no-returns-required.njk +++ b/app/views/return-requirements/no-returns-required.njk @@ -4,7 +4,6 @@ {% from "govuk/components/error-summary/macro.njk" import govukErrorSummary %} {% from "govuk/components/radios/macro.njk" import govukRadios %} -{% set title = "Why are no returns required?" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} {# Back link #} @@ -36,7 +35,7 @@ errorMessage: errorMessage, fieldset: { legend: { - html: 'Licence ' + licenceRef + '' + title, + html: 'Licence ' + licenceRef + '' + pageTitle, isPageHeading: true, classes: "govuk-fieldset__legend--l govuk-!-margin-bottom-6" } diff --git a/app/views/return-requirements/points.njk b/app/views/return-requirements/points.njk index 00d30fca5c..1d7de6e334 100644 --- a/app/views/return-requirements/points.njk +++ b/app/views/return-requirements/points.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Select the points for the return requirement" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/purpose.njk b/app/views/return-requirements/purpose.njk index 825e7966c4..281f9c11d5 100644 --- a/app/views/return-requirements/purpose.njk +++ b/app/views/return-requirements/purpose.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Select the purpose for the return requirement" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/reason.njk b/app/views/return-requirements/reason.njk index 52b6b5c7b4..80a889c29a 100644 --- a/app/views/return-requirements/reason.njk +++ b/app/views/return-requirements/reason.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Select the reason for the return requirement" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/returns-cycle.njk b/app/views/return-requirements/returns-cycle.njk index 47c020eaed..6b3bbfb66f 100644 --- a/app/views/return-requirements/returns-cycle.njk +++ b/app/views/return-requirements/returns-cycle.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Select the returns cycle for the return requirement" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/setup.njk b/app/views/return-requirements/setup.njk index 4a6bd1bc10..313aac7355 100644 --- a/app/views/return-requirements/setup.njk +++ b/app/views/return-requirements/setup.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "How do you want to set up the return requirement?" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{title}}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/site-description.njk b/app/views/return-requirements/site-description.njk index bc7b78d771..32fc79d8c5 100644 --- a/app/views/return-requirements/site-description.njk +++ b/app/views/return-requirements/site-description.njk @@ -2,7 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Enter a site description for the return requirement" %} {% set rootLink = "/system/return-requirements/" + id %} {% block breadcrumbs %} @@ -18,7 +17,7 @@ {% block content %} {# Main heading #}
-

{{ title }}

+

{{ pageTitle }}

diff --git a/app/views/return-requirements/start-date.njk b/app/views/return-requirements/start-date.njk index a8d49a3968..db5ffca9c5 100644 --- a/app/views/return-requirements/start-date.njk +++ b/app/views/return-requirements/start-date.njk @@ -2,8 +2,6 @@ {% from "govuk/components/back-link/macro.njk" import govukBackLink %} {% from "govuk/components/button/macro.njk" import govukButton %} -{% set title = "Select the start date for the return requirement" %} - {% block breadcrumbs %} {# Back link #} {{ @@ -17,7 +15,7 @@ {% block content %} {# Main heading #}
-

{{title}}

+

{{ pageTitle }}

diff --git a/test/controllers/return-requirements.controller.test.js b/test/controllers/return-requirements.controller.test.js index 1bc8b579e2..d2073a72fd 100644 --- a/test/controllers/return-requirements.controller.test.js +++ b/test/controllers/return-requirements.controller.test.js @@ -83,7 +83,7 @@ describe('Return requirements controller', () => { const response = await server.inject(_options('check-your-answers')) expect(response.statusCode).to.equal(200) - expect(response.payload).to.contain('Check your answers') + expect(response.payload).to.contain('Check the return requirements for') }) }) }) @@ -110,20 +110,11 @@ describe('Return requirements controller', () => { }) }) - describe('GET /return-requirements/{sessionId}/no-returns-check-your-answers', () => { - describe('when the request succeeds', () => { - it('returns the page successfully', async () => { - const response = await server.inject(_options('no-returns-check-your-answers')) - - expect(response.statusCode).to.equal(200) - expect(response.payload).to.contain('Check your answers') - }) - }) - }) - describe('GET /return-requirements/{sessionId}/no-returns-required', () => { beforeEach(async () => { - Sinon.stub(NoReturnsRequiredService, 'go').resolves({ id: '8702b98f-ae51-475d-8fcc-e049af8b8d38' }) + Sinon.stub(NoReturnsRequiredService, 'go').resolves({ + id: '8702b98f-ae51-475d-8fcc-e049af8b8d38', pageTitle: 'Why are no returns required?' + }) }) describe('when the request succeeds', () => { diff --git a/test/presenters/return-requirements/no-returns-required.presenter.test.js b/test/presenters/return-requirements/no-returns-required.presenter.test.js index 1d89050ea9..b3ec444fd2 100644 --- a/test/presenters/return-requirements/no-returns-required.presenter.test.js +++ b/test/presenters/return-requirements/no-returns-required.presenter.test.js @@ -31,7 +31,6 @@ describe('No Returns Required presenter', () => { const result = NoReturnsRequiredPresenter.go(session) expect(result).to.equal({ - activeNavBar: 'search', errorMessage: null, id: 'f1288f6c-8503-4dc1-b114-75c408a14bd0', licenceRef: '01/123', diff --git a/test/services/return-requirements/no-returns-required.service.test.js b/test/services/return-requirements/no-returns-required.service.test.js index cb1d1e9d9e..4bfb15d227 100644 --- a/test/services/return-requirements/no-returns-required.service.test.js +++ b/test/services/return-requirements/no-returns-required.service.test.js @@ -34,6 +34,7 @@ describe('No Returns Required service', () => { const result = await NoReturnsRequiredService.go(session.id) expect(result.activeNavBar).to.exist() + expect(result.pageTitle).to.exist() expect(result.licenceRef).to.exist() expect(result.radioItems).to.exist() @@ -48,6 +49,7 @@ describe('No Returns Required service', () => { const result = await NoReturnsRequiredService.go(session.id, error) expect(result.activeNavBar).to.exist() + expect(result.pageTitle).to.exist() expect(result.licenceRef).to.exist() expect(result.radioItems).to.exist()