Skip to content

Commit 688cec6

Browse files
committed
CCM-8962: add automated tests
1 parent d9de24e commit 688cec6

File tree

6 files changed

+73
-3
lines changed

6 files changed

+73
-3
lines changed

tests/test-team/helpers/factories/template-factory.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ export const TemplateFactory = {
3737
});
3838
},
3939

40-
createLetterTemplate: (id: string, owner: string, name: string): Template => {
40+
createLetterTemplate: (
41+
id: string,
42+
owner: string,
43+
name: string,
44+
virusScanStatus = 'PENDING'
45+
): Template => {
4146
return TemplateFactory.create({
4247
id,
4348
owner,
@@ -49,12 +54,12 @@ export const TemplateFactory = {
4954
pdfTemplate: {
5055
fileName: 'file.pdf',
5156
currentVersion: randomUUID(),
52-
virusScanStatus: 'PENDING',
57+
virusScanStatus,
5358
},
5459
testDataCsv: {
5560
fileName: 'test-data.csv',
5661
currentVersion: randomUUID(),
57-
virusScanStatus: 'PENDING',
62+
virusScanStatus,
5863
},
5964
},
6065
});
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { TemplateMgmtTemplateSubmittedBasePage } from '../template-mgmt-template-submitted-base-page';
2+
3+
export class TemplateMgmtTemplateSubmittedLetterPage extends TemplateMgmtTemplateSubmittedBasePage {
4+
static readonly pageUrlSegment = 'letter-template-submitted';
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { TemplateMgmtSubmitBasePage } from '../template-mgmt-submit-base-page';
2+
3+
export class TemplateMgmtSubmitLetterPage extends TemplateMgmtSubmitBasePage {
4+
static readonly pageUrlSegment = 'submit-letter-template';
5+
}

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

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
import { TemplateMgmtSubmitEmailPage } from '../pages/email/template-mgmt-submit-email-page';
1717
import { TemplateMgmtSubmitNhsAppPage } from '../pages/nhs-app/template-mgmt-submit-nhs-app-page';
1818
import { TemplateMgmtSubmitSmsPage } from '../pages/sms/template-mgmt-submit-sms-page';
19+
import { TemplateMgmtSubmitLetterPage } from '../pages/letter/template-mgmt-submit-letter-page';
1920

2021
async function createTemplates() {
2122
const user = await createAuthHelper().getTestUser(TestUserId.User1);
@@ -133,6 +134,35 @@ async function createTemplates() {
133134
...nhsAppFields,
134135
},
135136
},
137+
letter: {
138+
empty: {
139+
id: 'submit-page-invalid-letter-template',
140+
version: 1,
141+
createdAt: new Date().toISOString(),
142+
updatedAt: new Date().toISOString(),
143+
templateType: 'LETTER',
144+
templateStatus: 'NOT_YET_SUBMITTED',
145+
owner: user.userId,
146+
} as Template,
147+
submit: TemplateFactory.createLetterTemplate(
148+
'test-template-name',
149+
user.userId,
150+
'submit-letter-submit-template',
151+
'PASSED'
152+
),
153+
submitAndReturn: TemplateFactory.createLetterTemplate(
154+
'test-template-name',
155+
user.userId,
156+
'submit-and-return-letter-template',
157+
'PASSED'
158+
),
159+
valid: TemplateFactory.createLetterTemplate(
160+
'test-template-name',
161+
user.userId,
162+
'valid-letter-submit-template',
163+
'PASSED'
164+
),
165+
},
136166
};
137167
}
138168

@@ -146,6 +176,7 @@ test.describe('Submit template Page', () => {
146176
...Object.values(templates.email),
147177
...Object.values(templates['text-message']),
148178
...Object.values(templates['nhs-app']),
179+
...Object.values(templates.letter),
149180
];
150181
await templateStorageHelper.seedTemplateData(templateList);
151182
});
@@ -170,6 +201,11 @@ test.describe('Submit template Page', () => {
170201
channelIdentifier: 'nhs-app',
171202
PageModel: TemplateMgmtSubmitNhsAppPage,
172203
},
204+
{
205+
channelName: 'Letter',
206+
channelIdentifier: 'letter',
207+
PageModel: TemplateMgmtSubmitLetterPage,
208+
},
173209
] as const) {
174210
// disabling this rule because it doesn't like referencing the templates variable in a loop
175211
// eslint-disable-next-line no-loop-func

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
import { TemplateMgmtTemplateSubmittedEmailPage } from '../pages/email/template-mgmt-template-submitted-email-page';
1717
import { TemplateMgmtTemplateSubmittedSmsPage } from '../pages/sms/template-mgmt-template-submitted-sms-page';
1818
import { TemplateMgmtTemplateSubmittedNhsAppPage } from '../pages/nhs-app/template-mgmt-template-submitted-nhs-app-page';
19+
import { TemplateMgmtTemplateSubmittedLetterPage } from '../pages/letter/temnplate-mgmt-template-submitted-letter-page';
1920

2021
function createTemplates(owner: string) {
2122
return {
@@ -44,6 +45,15 @@ function createTemplates(owner: string) {
4445
name: 'test-template-nhs-app',
4546
message: 'test example content',
4647
}),
48+
letter: {
49+
...TemplateFactory.createLetterTemplate(
50+
'valid-submitted-letter-template',
51+
owner,
52+
'test-template-letter',
53+
'PASSED'
54+
),
55+
templateStatus: 'SUBMITTED',
56+
},
4757
};
4858
}
4959

@@ -78,6 +88,11 @@ test.describe('Template Submitted Page', () => {
7888
channelIdentifier: 'nhs-app',
7989
PageModel: TemplateMgmtTemplateSubmittedNhsAppPage,
8090
},
91+
{
92+
channelName: 'letter',
93+
channelIdentifier: 'letter',
94+
PageModel: TemplateMgmtTemplateSubmittedLetterPage,
95+
},
8196
] as const) {
8297
// eslint-disable-next-line no-loop-func
8398
test(`when user visits ${channelName} page, then page is loaded`, async ({

tests/test-team/template-mgmt-component-tests/template-protected-routes.component.spec.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ import { TemplateMgmtStartPage } from '../pages/template-mgmt-start-page';
2828
import { TemplateMgmtBasePageDynamic } from '../pages/template-mgmt-base-page-dynamic';
2929
import { TemplateMgmtCreateLetterPage } from '../pages/letter/template-mgmt-create-letter-page';
3030
import { TemplateMgmtPreviewLetterPage } from '../pages/letter/template-mgmt-preview-letter-page';
31+
import { TemplateMgmtSubmitLetterPage } from '../pages/letter/template-mgmt-submit-letter-page';
32+
import { TemplateMgmtTemplateSubmittedLetterPage } from '../pages/letter/temnplate-mgmt-template-submitted-letter-page';
3133

3234
// Reset storage state for this file to avoid being authenticated
3335
test.use({ storageState: { cookies: [], origins: [] } });
@@ -52,9 +54,11 @@ const protectedPages = [
5254
TemplateMgmtSubmitEmailPage,
5355
TemplateMgmtSubmitNhsAppPage,
5456
TemplateMgmtSubmitSmsPage,
57+
TemplateMgmtSubmitLetterPage,
5558
TemplateMgmtTemplateSubmittedEmailPage,
5659
TemplateMgmtTemplateSubmittedNhsAppPage,
5760
TemplateMgmtTemplateSubmittedSmsPage,
61+
TemplateMgmtTemplateSubmittedLetterPage,
5862
TemplateMgmtViewSubmittedEmailPage,
5963
TemplateMgmtViewSubmittedNhsAppPage,
6064
TemplateMgmtViewSubmittedSmsPage,

0 commit comments

Comments
 (0)