Skip to content

Commit e8b98a4

Browse files
committed
CCM-8590: fix some UI tests
1 parent f05ca2d commit e8b98a4

File tree

8 files changed

+79
-13
lines changed

8 files changed

+79
-13
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`CreateLetterTemplatePage should render CreateLetterTemplatePage 1`] = `
4+
<NHSNotifyMain>
5+
<h1
6+
className="nhsuk-heading-xl"
7+
data-testid="page-heading"
8+
>
9+
Create letter template
10+
</h1>
11+
<p
12+
id="placeholder"
13+
>
14+
🚧 Placeholder 🚧
15+
</p>
16+
</NHSNotifyMain>
17+
`;
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/**
2+
* @jest-environment node
3+
*/
4+
import CreateLetterTemplatePage from '@app/create-letter-template/page';
5+
6+
describe('CreateLetterTemplatePage', () => {
7+
beforeEach(jest.resetAllMocks);
8+
9+
it('should render CreateLetterTemplatePage', async () => {
10+
const page = await CreateLetterTemplatePage();
11+
12+
expect(page).toMatchSnapshot();
13+
});
14+
15+
it('returns 404 when letters feature flag is not enabled', async () => {
16+
delete process.env.ENABLE_LETTERS;
17+
18+
await expect(CreateLetterTemplatePage()).rejects.toThrow('NEXT_NOT_FOUND');
19+
});
20+
});

frontend/src/app/create-letter-template/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const CreateLetterTemplatePage = async () => {
99
<h1 className='nhsuk-heading-xl' data-testid='page-heading'>
1010
Create letter template
1111
</h1>
12-
<p>🚧 Placeholder 🚧</p>
12+
<p id='placeholder'>🚧 Placeholder 🚧</p>
1313
</NHSNotifyMain>
1414
);
1515
};

tests/accessibility/.pa11y-ci.js

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const {
88
reviewNHSAppTemplateErrorPage,
99
submitNHSAppTemplatePage,
1010
createEmailTemplatePage,
11+
createLetterTemplatePage,
1112
createEmailTemplateErrorPage,
1213
reviewEmailTemplatePage,
1314
reviewEmailTemplateErrorPage,
@@ -64,7 +65,9 @@ module.exports = {
6465
performCheck(createTextMessageTemplateErrorPage(chooseTemplateUrl)),
6566
performCheck(reviewTextMessageTemplatePage(chooseTemplateUrl)),
6667
performCheck(reviewTextMessageTemplateErrorPage(chooseTemplateUrl)),
67-
performCheck(viewNotYetSubmittedTextMessageTemplatePage(manageTemplatesUrl)),
68+
performCheck(
69+
viewNotYetSubmittedTextMessageTemplatePage(manageTemplatesUrl)
70+
),
6871
performCheck(submitTextMessageTemplatePage(chooseTemplateUrl)),
6972
performCheck(textMessageTemplateSubmittedPage(chooseTemplateUrl)),
7073
performCheck(viewSubmittedTextMessageTemplatePage(manageTemplatesUrl)),
@@ -79,7 +82,14 @@ module.exports = {
7982
performCheck(emailTemplateSubmittedPage(chooseTemplateUrl)),
8083
performCheck(viewSubmittedEmailTemplatePage(manageTemplatesUrl)),
8184

82-
performCheck({ url: `${baseUrl}/invalid-template`, actions: [...signInPageActions, 'wait for h1 to be visible'], name: 'invalid-template'}),
85+
// Letter Journey
86+
performCheck(createLetterTemplatePage(chooseTemplateUrl)),
87+
88+
performCheck({
89+
url: `${baseUrl}/invalid-template`,
90+
actions: [...signInPageActions, 'wait for h1 to be visible'],
91+
name: 'invalid-template',
92+
}),
8393
],
8494
defaults: {
8595
reporters: [
@@ -88,18 +98,15 @@ module.exports = {
8898
'pa11y-ci-reporter-html',
8999
{
90100
destination: './.reports/accessibility',
91-
includeZeroIssues: true
92-
}
101+
includeZeroIssues: true,
102+
},
93103
],
94104
],
95-
rules: [
96-
'Principle1.Guideline1_3.1_3_1_AAA',
97-
],
105+
rules: ['Principle1.Guideline1_3.1_3_1_AAA'],
98106
chromeLaunchConfig: {
99-
args: ['--no-sandbox']
107+
args: ['--no-sandbox'],
100108
},
101109
standard: 'WCAG2AA',
102110
agent: 'pa11y',
103-
}
111+
},
104112
};
105-
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
const { signInPageActions } = require('./sign-in-page.actions');
2+
3+
const pageActions = [
4+
...signInPageActions,
5+
'wait for element #templateType-LETTER to be visible',
6+
'click element #templateType-LETTER',
7+
'click element #choose-a-template-type-submit-button',
8+
'wait for element #placeholder to be visible',
9+
];
10+
11+
const createLetterTemplatePage = (url) => ({
12+
name: 'create-letter-template',
13+
url,
14+
actions: pageActions,
15+
});
16+
17+
module.exports = {
18+
pageActions,
19+
createLetterTemplatePage,
20+
};

tests/test-team/pages/letter/template-mgmt-create-letter-page.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { TemplateMgmtBasePageNonDynamic } from '../template-mgmt-base-page-non-dynamic';
22

33
export class TemplateMgmtCreateLetterPage extends TemplateMgmtBasePageNonDynamic {
4+
static readonly pageUrlSegment = 'create-letter-template';
5+
46
async loadPage() {
57
await this.navigateTo('/templates/create-letter-template');
68
}

tests/test-team/template-mgmt-component-tests/template-mgmt-choose-page.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ test.describe('Choose Template Type Page', () => {
4949

5050
await chooseTemplatePage.loadPage();
5151

52-
await expect(chooseTemplatePage.radioButtons).toHaveCount(3);
52+
await expect(chooseTemplatePage.radioButtons).toHaveCount(4);
5353
});
5454

5555
test('should display error if no template type option selected and continue button clicked', async ({

tests/test-team/template-mgmt-component-tests/template-mgmt-copy-page.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ test.describe('Copy Template Page', () => {
9696

9797
await copyTemplatePage.loadPage(templates.email.id);
9898

99-
await expect(copyTemplatePage.radioButtons).toHaveCount(3);
99+
await expect(copyTemplatePage.radioButtons).toHaveCount(4);
100100
});
101101

102102
test('should display error if no template type option selected and continue button clicked', async ({

0 commit comments

Comments
 (0)