Skip to content

Commit 8b4d904

Browse files
CCM-8961: Seed all letter states for pa11y
1 parent 7a9f7db commit 8b4d904

File tree

4 files changed

+59
-11
lines changed

4 files changed

+59
-11
lines changed

tests/accessibility/.pa11y-ci.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const {
1818
previewEmailTemplateErrorPage,
1919
previewEmailTemplatePage,
2020
previewLetterTemplatePage,
21+
previewLetterTemplatePageWithError,
2122
previewNHSAppTemplateErrorPage,
2223
previewNHSAppTemplatePage,
2324
previewSubmittedEmailTemplatePage,
@@ -99,15 +100,30 @@ module.exports = {
99100
`${baseUrl}/preview-letter-template/${templateIds['pa11y-letter-pending-virus-check']}`
100101
)
101102
),
103+
performCheck(
104+
previewLetterTemplatePageWithError(
105+
`${baseUrl}/preview-letter-template/${templateIds['pa11y-letter-failed-virus-check']}`
106+
)
107+
),
108+
performCheck(
109+
previewLetterTemplatePage(
110+
`${baseUrl}/preview-letter-template/${templateIds['pa11y-letter-pending-validation']}`
111+
)
112+
),
113+
performCheck(
114+
previewLetterTemplatePageWithError(
115+
`${baseUrl}/preview-letter-template/${templateIds['pa11y-letter-failed-validation']}`
116+
)
117+
),
102118
performCheck(viewNotYetSubmittedLetterTemplatePage(messageTemplatesUrl)),
103119
performCheck(
104120
submitLetterTemplatePage(
105-
`${baseUrl}/preview-letter-template/${templateIds['pa11y-letter-passed-virus-check']}`
121+
`${baseUrl}/preview-letter-template/${templateIds['pa11y-letter-passed-validation']}`
106122
)
107123
),
108124
performCheck(
109125
letterTemplateSubmittedPage(
110-
`${baseUrl}/preview-letter-template/${templateIds['pa11y-letter-passed-virus-check']}`
126+
`${baseUrl}/preview-letter-template/${templateIds['pa11y-letter-passed-validation']}`
111127
)
112128
),
113129
performCheck(previewSubmittedLetterTemplatePage(messageTemplatesUrl)),

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const { signInPageActions } = require('./sign-in-page.actions');
22

33
const pageActions = [
44
...signInPageActions,
5-
'wait for #preview-letter-template-submit-button to be visible',
5+
'wait for [data-testid="preview-message__heading"] to be visible',
66
];
77

88
const previewLetterTemplatePage = (url) => ({
@@ -11,7 +11,18 @@ const previewLetterTemplatePage = (url) => ({
1111
actions: pageActions,
1212
});
1313

14+
const previewLetterTemplatePageWithError = (url) => ({
15+
name: 'preview-letter-template',
16+
url,
17+
actions: pageActions,
18+
ignore: [
19+
// NHS error summary component has a H2 above the H1.
20+
'WCAG2AA.Principle1.Guideline1_3.1_3_1_AAA.G141',
21+
],
22+
});
23+
1424
module.exports = {
1525
pageActions,
1626
previewLetterTemplatePage,
27+
previewLetterTemplatePageWithError,
1728
};

tests/accessibility/pa11y-setup.ts

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@ import { generate } from 'generate-password';
55
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
66
import { PutCommand, DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
77
import { LetterTemplate } from 'nhs-notify-web-template-management-utils';
8-
import { VirusScanStatus } from 'nhs-notify-backend-client';
8+
import { TemplateStatus, VirusScanStatus } from 'nhs-notify-backend-client';
99
import { BackendConfigHelper } from 'nhs-notify-web-template-management-util-backend-config';
1010
import path from 'node:path';
1111

1212
// pa11y can't interact with a file upload dialogue, so letters must be seeded
1313
const generateLetterTemplateData = (
1414
name: string,
1515
owner: string,
16-
virusScanStatus: VirusScanStatus
16+
virusScanStatus: VirusScanStatus,
17+
templateStatus: TemplateStatus
1718
): LetterTemplate & { owner: string } => {
1819
const now = new Date().toISOString();
1920

@@ -38,7 +39,7 @@ const generateLetterTemplateData = (
3839
virusScanStatus,
3940
},
4041
},
41-
templateStatus: 'NOT_YET_SUBMITTED',
42+
templateStatus,
4243
};
4344
};
4445

@@ -70,14 +71,34 @@ const setup = async () => {
7071

7172
const templates = [
7273
generateLetterTemplateData(
73-
'pa11y-letter-passed-virus-check',
74+
'pa11y-letter-pending-virus-check',
7475
userId,
75-
'PASSED'
76+
'PENDING',
77+
'PENDING_UPLOAD'
7678
),
7779
generateLetterTemplateData(
78-
'pa11y-letter-pending-virus-check',
80+
'pa11y-letter-failed-virus-check',
81+
userId,
82+
'FAILED',
83+
'VIRUS_SCAN_FAILED'
84+
),
85+
generateLetterTemplateData(
86+
'pa11y-letter-pending-validation',
87+
userId,
88+
'PASSED',
89+
'PENDING_VALIDATION'
90+
),
91+
generateLetterTemplateData(
92+
'pa11y-letter-failed-validation',
93+
userId,
94+
'PASSED',
95+
'VALIDATION_FAILED'
96+
),
97+
generateLetterTemplateData(
98+
'pa11y-letter-passed-validation',
7999
userId,
80-
'PENDING'
100+
'PASSED',
101+
'NOT_YET_SUBMITTED'
81102
),
82103
];
83104

tests/test-team/template-mgmt-e2e-tests/template-mgmt-letter-file-validation.e2e.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ test.describe('letter file validation', () => {
249249
);
250250

251251
expect(pdf?.ChecksumSHA256).toEqual(
252-
pdfUploadFixtures.withPersonalisation.csv.checksumSha256()
252+
pdfUploadFixtures.withPersonalisation.pdf.checksumSha256()
253253
);
254254
}).toPass({ timeout: 20_000 });
255255

0 commit comments

Comments
 (0)