Skip to content

Commit dba099c

Browse files
CCM-12666: Accessibility test rework to support multiple clients
1 parent c8a6dcc commit dba099c

23 files changed

+198
-181
lines changed

tests/accessibility/.pa11y-ci.js

Lines changed: 98 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const {
2929
previewTextMessageTemplatePage,
3030
requestProofOfTemplatePage,
3131
signInPageActions,
32+
withSignIn,
3233
submitEmailTemplatePage,
3334
submitLetterTemplatePage,
3435
submitNHSAppTemplatePage,
@@ -47,93 +48,105 @@ const {
4748
createMessagePlanPageError,
4849
} = require('./actions');
4950

51+
const pa11yConfig = JSON.parse(
52+
readFileSync('./pa11y-fixtures.json', 'utf8')
53+
);
54+
55+
const { users: {
56+
mainUser: {
57+
email,
58+
password,
59+
},
60+
routingUser: {
61+
email: routingEnabledEmail,
62+
password: routingEnabledPassword,
63+
},
64+
templateIds,
65+
}} = pa11yConfig;
66+
5067
const baseUrl = 'http://localhost:3000/templates';
5168
const chooseTemplateUrl = `${baseUrl}/choose-a-template-type`;
5269
const startUrl = 'http://localhost:3000/templates/create-and-submit-templates';
5370
const messageTemplatesUrl = `${baseUrl}/message-templates`;
5471

55-
const { templateIds } = JSON.parse(
56-
readFileSync('./pa11y-fixtures.json', 'utf8')
57-
);
58-
59-
function previewLetterTemplateUrl(status) {
60-
return `${baseUrl}/preview-letter-template/${templateIds[status]}`;
72+
function previewLetterTemplateUrl(clientId, status) {
73+
return `${baseUrl}/preview-letter-template/${templateIds[clientId][status]}`;
6174
}
6275

63-
const allTemplates = [
64-
messageTemplatesPage(messageTemplatesUrl),
65-
copyTemplatePage(chooseTemplateUrl),
76+
const allTemplatesTests = [
77+
withSignIn(messageTemplatesPage(messageTemplatesUrl)),
78+
withSignIn(copyTemplatePage(chooseTemplateUrl)),
6679
];
6780

68-
const chooseTemplate = [
69-
chooseATemplatePage(chooseTemplateUrl),
70-
chooseATemplatePageError(chooseTemplateUrl),
81+
const chooseTemplateTests = [
82+
withSignIn(chooseATemplatePage(chooseTemplateUrl), email, password),
83+
withSignIn(chooseATemplatePageError(chooseTemplateUrl), email, password),
7184
];
7285

73-
const nhsApp = [
74-
createNHSAppTemplatePage(chooseTemplateUrl),
75-
createNHSAppTemplateErrorPage(chooseTemplateUrl),
76-
previewNHSAppTemplatePage(chooseTemplateUrl),
77-
previewNHSAppTemplateErrorPage(chooseTemplateUrl),
78-
viewNotYetSubmittedNHSAppTemplatePage(messageTemplatesUrl),
79-
submitNHSAppTemplatePage(chooseTemplateUrl),
80-
nhsAppTemplateSubmittedPage(chooseTemplateUrl),
81-
previewSubmittedNHSAppTemplatePage(messageTemplatesUrl),
86+
const nhsAppTests = [
87+
withSignIn(createNHSAppTemplatePage(chooseTemplateUrl), email, password),
88+
withSignIn(createNHSAppTemplateErrorPage(chooseTemplateUrl), email, password),
89+
withSignIn(previewNHSAppTemplatePage(chooseTemplateUrl), email, password),
90+
withSignIn(previewNHSAppTemplateErrorPage(chooseTemplateUrl), email, password),
91+
withSignIn(viewNotYetSubmittedNHSAppTemplatePage(messageTemplatesUrl), email, password),
92+
withSignIn(submitNHSAppTemplatePage(chooseTemplateUrl), email, password),
93+
withSignIn(nhsAppTemplateSubmittedPage(chooseTemplateUrl), email, password),
94+
withSignIn(previewSubmittedNHSAppTemplatePage(messageTemplatesUrl), email, password),
8295
];
8396

84-
const sms = [
85-
createTextMessageTemplatePage(chooseTemplateUrl),
86-
createTextMessageTemplateErrorPage(chooseTemplateUrl),
87-
previewTextMessageTemplatePage(chooseTemplateUrl),
88-
previewTextMessageTemplateErrorPage(chooseTemplateUrl),
89-
viewNotYetSubmittedTextMessageTemplatePage(messageTemplatesUrl),
90-
submitTextMessageTemplatePage(chooseTemplateUrl),
91-
textMessageTemplateSubmittedPage(chooseTemplateUrl),
92-
previewSubmittedTextMessageTemplatePage(messageTemplatesUrl),
97+
const smsTests = [
98+
withSignIn(createTextMessageTemplatePage(chooseTemplateUrl), email, password),
99+
withSignIn(createTextMessageTemplateErrorPage(chooseTemplateUrl), email, password),
100+
withSignIn(previewTextMessageTemplatePage(chooseTemplateUrl), email, password),
101+
withSignIn(previewTextMessageTemplateErrorPage(chooseTemplateUrl), email, password),
102+
withSignIn(viewNotYetSubmittedTextMessageTemplatePage(messageTemplatesUrl), email, password),
103+
withSignIn(submitTextMessageTemplatePage(chooseTemplateUrl), email, password),
104+
withSignIn(textMessageTemplateSubmittedPage(chooseTemplateUrl), email, password),
105+
withSignIn(previewSubmittedTextMessageTemplatePage(messageTemplatesUrl), email, password),
93106
];
94107

95-
const email = [
96-
createEmailTemplatePage(chooseTemplateUrl),
97-
createEmailTemplateErrorPage(chooseTemplateUrl),
98-
previewEmailTemplatePage(chooseTemplateUrl),
99-
previewEmailTemplateErrorPage(chooseTemplateUrl),
100-
viewNotYetSubmittedEmailTemplatePage(messageTemplatesUrl),
101-
submitEmailTemplatePage(chooseTemplateUrl),
102-
emailTemplateSubmittedPage(chooseTemplateUrl),
103-
previewSubmittedEmailTemplatePage(messageTemplatesUrl),
108+
const emailTests = [
109+
withSignIn(createEmailTemplatePage(chooseTemplateUrl), email, password),
110+
withSignIn(createEmailTemplateErrorPage(chooseTemplateUrl), email, password),
111+
withSignIn(previewEmailTemplatePage(chooseTemplateUrl), email, password),
112+
withSignIn(previewEmailTemplateErrorPage(chooseTemplateUrl), email, password),
113+
withSignIn(viewNotYetSubmittedEmailTemplatePage(messageTemplatesUrl), email, password),
114+
withSignIn(submitEmailTemplatePage(chooseTemplateUrl), email, password),
115+
withSignIn(emailTemplateSubmittedPage(chooseTemplateUrl), email, password),
116+
withSignIn(previewSubmittedEmailTemplatePage(messageTemplatesUrl), email, password),
104117
];
105118

106-
const letters = [
107-
uploadLetterTemplatePage(chooseTemplateUrl),
108-
previewLetterTemplatePage(previewLetterTemplateUrl('PENDING_UPLOAD')),
109-
previewLetterTemplatePageWithError(previewLetterTemplateUrl('VIRUS_SCAN_FAILED')),
110-
previewLetterTemplatePage(previewLetterTemplateUrl('PENDING_VALIDATION')),
111-
previewLetterTemplatePageWithError(previewLetterTemplateUrl('VALIDATION_FAILED')),
112-
viewNotYetSubmittedLetterTemplatePage(messageTemplatesUrl, templateIds.PENDING_PROOF_REQUEST),
113-
requestProofOfTemplatePage(previewLetterTemplateUrl('PENDING_PROOF_REQUEST')),
114-
waitingForProofsLetterTemplatePage(previewLetterTemplateUrl('WAITING_FOR_PROOF')),
115-
viewAvailableProofsForLetterTemplatePage(previewLetterTemplateUrl('PROOF_AVAILABLE')),
116-
submitLetterTemplatePage(previewLetterTemplateUrl('PROOF_AVAILABLE')),
117-
letterTemplateSubmittedPage(previewLetterTemplateUrl('PROOF_AVAILABLE')),
118-
previewSubmittedLetterTemplatePage(messageTemplatesUrl),
119+
const lettersTests = [
120+
withSignIn(uploadLetterTemplatePage(chooseTemplateUrl), email, password),
121+
withSignIn(previewLetterTemplatePage(previewLetterTemplateUrl('accessibility-test-client', PENDING_UPLOAD')), email, password),
122+
withSignIn(previewLetterTemplatePageWithError(previewLetterTemplateUrl('accessibility-test-client', 'VIRUS_SCAN_FAILED')), email, password),
123+
withSignIn(previewLetterTemplatePage(previewLetterTemplateUrl('accessibility-test-client', 'PENDING_VALIDATION')), email, password),
124+
withSignIn(previewLetterTemplatePageWithError(previewLetterTemplateUrl('accessibility-test-client', 'VALIDATION_FAILED')), email, password),
125+
withSignIn(viewNotYetSubmittedLetterTemplatePage(messageTemplatesUrl, templateIds['accessibility-test-client'].PENDING_PROOF_REQUEST), email, password),
126+
withSignIn(requestProofOfTemplatePage(previewLetterTemplateUrl('accessibility-test-client', 'PENDING_PROOF_REQUEST')), email, password),
127+
withSignIn(waitingForProofsLetterTemplatePage(previewLetterTemplateUrl('accessibility-test-client', 'WAITING_FOR_PROOF')), email, password),
128+
withSignIn(viewAvailableProofsForLetterTemplatePage(previewLetterTemplateUrl('accessibility-test-client', 'PROOF_AVAILABLE')), email, password),
129+
withSignIn(submitLetterTemplatePage(previewLetterTemplateUrl('accessibility-test-client', 'PROOF_AVAILABLE')), email, password),
130+
withSignIn(letterTemplateSubmittedPage(previewLetterTemplateUrl('accessibility-test-client', 'PROOF_AVAILABLE')), email, password),
131+
withSignIn(previewSubmittedLetterTemplatePage(messageTemplatesUrl), email, password),
119132
];
120133

121-
const landingPage = [{ url: startUrl, name: 'landing-page' }];
134+
const landingPageTests = [{ url: startUrl, name: 'landing-page' }];
122135

123-
const errors = [
136+
const errorsTests = [
124137
{
125138
url: `${baseUrl}/invalid-template`,
126-
actions: [...signInPageActions, 'wait for h1 to be visible'],
139+
actions: [...signInPageActions(email, password), 'wait for h1 to be visible'],
127140
name: 'invalid-template',
128141
},
129142
{
130143
url: `${baseUrl}/upload-letter-template/client-id-and-campaign-id-required`,
131-
actions: [...signInPageActions, 'wait for h1 to be visible'],
144+
actions: [...signInPageActions(email, password), 'wait for h1 to be visible'],
132145
name: 'client-campaign-id-required',
133146
},
134147
];
135148

136-
const userEmails = [
149+
const userEmailsTests = [
137150
{
138151
url: `${baseUrl}/testing/template-submitted-email.html`,
139152
name: 'email-template',
@@ -144,25 +157,37 @@ const userEmails = [
144157
},
145158
];
146159

147-
const routing = [
148-
messagePlansPage(`${baseUrl}/message-plans`),
149-
chooseMessageOrderPage(`${baseUrl}/message-plans/choose-message-order`),
150-
chooseMessageOrderPageError(`${baseUrl}/message-plans/choose-message-order`),
151-
createMessagePlanPage(`${baseUrl}/message-plans/create-message-plan?messageOrder=NHSAPP`),
152-
createMessagePlanPageError(`${baseUrl}/message-plans/create-message-plan?messageOrder=NHSAPP`),
160+
const routingTests = [
161+
withSignIn(messagePlansPage(`${baseUrl}/message-plans`), routingEnabledEmail, routingEnabledPassword),
162+
withSignIn(chooseMessageOrderPage(`${baseUrl}/message-plans/choose-message-order`), routingEnabledEmail, routingEnabledPassword),
163+
withSignIn(chooseMessageOrderPageError(`${baseUrl}/message-plans/choose-message-order`), routingEnabledEmail, routingEnabledPassword),
164+
withSignIn(createMessagePlanPage(`${baseUrl}/message-plans/create-message-plan?messageOrder=NHSAPP`), routingEnabledEmail, routingEnabledPassword),
165+
withSignIn(createMessagePlanPageError(`${baseUrl}/message-plans/create-message-plan?messageOrder=NHSAPP`), routingEnabledEmail, routingEnabledPassword),
166+
];
167+
168+
const templatesPagesWithRoutingContentEnabledTests = [
169+
withSignIn(viewNotYetSubmittedLetterTemplatePage(messageTemplatesUrl, templateIds['routing-accessibility-test-client'].PENDING_PROOF_REQUEST), routingEnabledEmail, routingEnabledPassword),
170+
withSignIn(viewNotYetSubmittedEmailTemplatePage(messageTemplatesUrl), routingEnabledEmail, routingEnabledPassword),
171+
withSignIn(viewNotYetSubmittedTextMessageTemplatePage(messageTemplatesUrl), routingEnabledEmail, routingEnabledPassword),
172+
withSignIn(viewNotYetSubmittedNHSAppTemplatePage(messageTemplatesUrl), routingEnabledEmail, routingEnabledPassword),
173+
withSignIn(submitLetterTemplatePage(previewLetterTemplateUrl('routingaccessibility-test-client', 'PROOF_AVAILABLE')), routingEnabledEmail, routingEnabledPassword),
174+
withSignIn(submitEmailTemplatePage(chooseTemplateUrl), routingEnabledEmail, routingEnabledPassword),
175+
withSignIn(submitTextMessageTemplatePage(chooseTemplateUrl), routingEnabledEmail, routingEnabledPassword),
176+
withSignIn(submitNHSAppTemplatePage(chooseTemplateUrl), routingEnabledEmail, routingEnabledPassword),
153177
];
154178

155179
const allJourneys = {
156-
landingPage,
157-
allTemplates,
158-
chooseTemplate,
159-
nhsApp,
160-
sms,
161-
email,
162-
letters,
163-
userEmails,
164-
errors,
165-
routing,
180+
landingPageTests,
181+
allTemplatesTests,
182+
chooseTemplateTests,
183+
nhsAppTests,
184+
smsTests,
185+
emailTests,
186+
lettersTests,
187+
userEmailsTests,
188+
errorsTests,
189+
routingTests,
190+
templatesPagesWithRoutingContentEnabledTests,
166191
};
167192

168193
const selectedJourney = process.env.JOURNEY && allJourneys[process.env.JOURNEY]

tests/accessibility/actions/choose-a-template-type.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for element #choose-a-template-type-submit-button to be visible',
63
];
74

tests/accessibility/actions/choose-message-order.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for element #choose-message-order-submit-button to be visible',
63
];
74

tests/accessibility/actions/create-email-template.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for element #templateType-email to be visible',
63
'click element #templateType-email',
74
'click element #choose-a-template-type-submit-button',

tests/accessibility/actions/create-message-plan.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for element .nhsuk-button to be visible',
63
];
74

tests/accessibility/actions/create-nhs-app-template.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for element #templateType-nhsapp to be visible',
63
'click element #templateType-nhsapp',
74
'click element #choose-a-template-type-submit-button',

tests/accessibility/actions/create-text-message-template.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for element #templateType-sms to be visible',
63
'click element #templateType-sms',
74
'click element #choose-a-template-type-submit-button',

tests/accessibility/actions/message-plans.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for element .nhsuk-button to be visible',
63
];
74

tests/accessibility/actions/message-templates.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for element #create-template-button to be visible',
63
];
74

tests/accessibility/actions/preview-letter-template.actions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
const { signInPageActions } = require('./sign-in-page.actions');
2-
31
const pageActions = [
4-
...signInPageActions,
52
'wait for [data-testid="preview-message__heading"] to be visible',
63
];
74

0 commit comments

Comments
 (0)