Skip to content

Commit a290c2d

Browse files
CCM-8579: Copy, tests, misc
1 parent 9365458 commit a290c2d

File tree

54 files changed

+2883
-973
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+2883
-973
lines changed

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ terraform-docs 0.19.0
66
vale 3.6.0
77
tfsec 1.28.10
88
nodejs 20.18.2
9+
jq 1.6
910

1011
# ==============================================================================
1112
# The section below is reserved for Docker image versions.

frontend/src/__tests__/app/copy-template/page.test.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,17 @@
33
*/
44
import CopyTemplatePage from '@app/copy-template/[templateId]/page';
55
import { CopyTemplate } from '@forms/CopyTemplate/CopyTemplate';
6-
import {
7-
TemplateType,
8-
TemplateStatus,
9-
} from 'nhs-notify-web-template-management-utils';
106
import { redirect } from 'next/navigation';
117
import { getTemplate } from '@utils/form-actions';
128
import {
139
Language,
1410
LetterType,
1511
TemplateDTO,
12+
TemplateStatus,
13+
TemplateType,
1614
VirusScanStatus,
1715
} from 'nhs-notify-backend-client';
16+
import { LetterTemplate } from 'nhs-notify-web-template-management-utils';
1817

1918
jest.mock('@utils/form-actions');
2019
jest.mock('next/navigation');
@@ -37,7 +36,7 @@ describe('CopyTemplatePage', () => {
3736
updatedAt: '2025-01-13T10:19:25.579Z',
3837
} satisfies TemplateDTO;
3938

40-
const letterTemplate: TemplateDTO = {
39+
const letterTemplate: LetterTemplate = {
4140
id: 'template-id',
4241
templateType: TemplateType.LETTER,
4342
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,

frontend/src/__tests__/app/create-email-template/__snapshots__/page.test.tsx.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ exports[`CreateEmailTemplatePage should render CreateEmailTemplatePage 1`] = `
77
"message": "",
88
"name": "",
99
"subject": "",
10-
"templateStatus": "NOT_YET_SUBMITTED",
1110
"templateType": "EMAIL",
1211
}
1312
}

frontend/src/__tests__/app/create-nhs-app-template/__snapshots__/page.test.tsx.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ exports[`CreateNHSAppTemplatePage should render CreateNHSAppTemplatePage 1`] = `
66
{
77
"message": "",
88
"name": "",
9-
"templateStatus": "NOT_YET_SUBMITTED",
109
"templateType": "NHS_APP",
1110
}
1211
}

frontend/src/__tests__/app/create-text-message-template/__snapshots__/page.test.tsx.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ exports[`CreateSMSTemplatePage should render CreateSMSTemplatePage 1`] = `
66
{
77
"message": "",
88
"name": "",
9-
"templateStatus": "NOT_YET_SUBMITTED",
109
"templateType": "SMS",
1110
}
1211
}

frontend/src/__tests__/app/delete-template/page.test.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import DeleteTemplatePage from '@app/delete-template/[templateId]/page';
55
import { DeleteTemplate } from '@forms/DeleteTemplate/DeleteTemplate';
66
import {
7-
EmailTemplate,
87
TemplateType,
98
TemplateStatus,
109
} from 'nhs-notify-web-template-management-utils';
@@ -34,7 +33,7 @@ describe('PreviewEmailTemplatePage', () => {
3433
updatedAt: '2025-01-13T10:19:25.579Z',
3534
} satisfies TemplateDTO;
3635

37-
const emailTemplate: EmailTemplate = {
36+
const emailTemplate: TemplateDTO = {
3837
...templateDTO,
3938
subject: 'template-subject-line',
4039
templateType: TemplateType.EMAIL,

frontend/src/__tests__/app/edit-email-template/page.test.tsx

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,10 @@
33
*/
44
import EditEmailTemplatePage from '@app/edit-email-template/[templateId]/page';
55
import { getTemplate } from '@utils/form-actions';
6-
import {
7-
EmailTemplate,
8-
TemplateStatus,
9-
TemplateType,
10-
} from 'nhs-notify-web-template-management-utils';
116
import { redirect } from 'next/navigation';
127
import { EmailTemplateForm } from '@forms/EmailTemplateForm/EmailTemplateForm';
13-
import { TemplateDTO } from 'nhs-notify-backend-client';
8+
import { TemplateStatus, TemplateType } from 'nhs-notify-backend-client';
9+
import { EmailTemplate } from 'nhs-notify-web-template-management-utils';
1410

1511
jest.mock('@utils/form-actions');
1612
jest.mock('next/navigation');
@@ -19,7 +15,7 @@ jest.mock('@forms/EmailTemplateForm/EmailTemplateForm');
1915
const getTemplateMock = jest.mocked(getTemplate);
2016
const redirectMock = jest.mocked(redirect);
2117

22-
const templateDTO = {
18+
const template: EmailTemplate = {
2319
id: 'template-id',
2420
templateType: TemplateType.EMAIL,
2521
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
@@ -28,7 +24,7 @@ const templateDTO = {
2824
message: 'message',
2925
createdAt: '2025-01-13T10:19:25.579Z',
3026
updatedAt: '2025-01-13T10:19:25.579Z',
31-
} satisfies TemplateDTO;
27+
};
3228

3329
describe('EditEmailTemplatePage', () => {
3430
beforeEach(jest.resetAllMocks);
@@ -49,7 +45,7 @@ describe('EditEmailTemplatePage', () => {
4945

5046
it('should redirect to invalid-template when template type is not EMAIL', async () => {
5147
getTemplateMock.mockResolvedValueOnce({
52-
...templateDTO,
48+
...template,
5349
templateType: TemplateType.NHS_APP,
5450
});
5551

@@ -65,10 +61,10 @@ describe('EditEmailTemplatePage', () => {
6561
});
6662

6763
it('should render CreateEmailTemplatePage component when template is found', async () => {
68-
getTemplateMock.mockResolvedValueOnce(templateDTO);
64+
getTemplateMock.mockResolvedValueOnce(template);
6965

70-
const emailTemplate: EmailTemplate = {
71-
...templateDTO,
66+
const emailTemplate = {
67+
...template,
7268
subject: 'subject',
7369
templateType: TemplateType.EMAIL,
7470
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,

frontend/src/__tests__/app/edit-nhs-app-template/page.test.tsx

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,16 @@
22
* @jest-environment node
33
*/
44
import { redirect } from 'next/navigation';
5-
import {
6-
TemplateType,
7-
TemplateStatus,
8-
NHSAppTemplate,
9-
} from 'nhs-notify-web-template-management-utils';
5+
import { NHSAppTemplate } from 'nhs-notify-web-template-management-utils';
106
import { getTemplate } from '@utils/form-actions';
117
import { NhsAppTemplateForm } from '@forms/NhsAppTemplateForm/NhsAppTemplateForm';
128
import EditNhsAppTemplatePage from '@app/edit-nhs-app-template/[templateId]/page';
13-
import { TemplateDTO } from 'nhs-notify-backend-client';
9+
import {
10+
TemplateDTO,
11+
TemplateStatus,
12+
TemplateType,
13+
} from 'nhs-notify-backend-client';
14+
import { EMAIL_TEMPLATE, LETTER_TEMPLATE, SMS_TEMPLATE } from '../../helpers';
1415

1516
jest.mock('@forms/NhsAppTemplateForm/NhsAppTemplateForm');
1617
jest.mock('@utils/form-actions');
@@ -23,7 +24,7 @@ describe('EditNhsAppTemplatePage', () => {
2324
beforeEach(jest.resetAllMocks);
2425

2526
test('page loads', async () => {
26-
const templateDTO = {
27+
const template = {
2728
id: 'template-id',
2829
templateType: TemplateType.NHS_APP,
2930
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
@@ -34,12 +35,12 @@ describe('EditNhsAppTemplatePage', () => {
3435
} satisfies TemplateDTO;
3536

3637
const nhsAppTemplate: NHSAppTemplate = {
37-
...templateDTO,
38+
...template,
3839
templateType: TemplateType.NHS_APP,
3940
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
4041
};
4142

42-
getTemplateMock.mockResolvedValueOnce(templateDTO);
43+
getTemplateMock.mockResolvedValueOnce(template);
4344

4445
const page = await EditNhsAppTemplatePage({
4546
params: Promise.resolve({
@@ -62,23 +63,10 @@ describe('EditNhsAppTemplatePage', () => {
6263
expect(redirectMock).toHaveBeenCalledWith('/invalid-template', 'replace');
6364
});
6465

65-
const invalidTemplateTypes: TemplateType[] = [
66-
TemplateType.EMAIL,
67-
TemplateType.SMS,
68-
];
69-
70-
test.each(invalidTemplateTypes)(
71-
'should render invalid template, when template type is %p',
72-
async (templateType) => {
73-
getTemplateMock.mockResolvedValueOnce({
74-
id: 'template-id',
75-
templateType,
76-
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
77-
name: 'name',
78-
message: 'message',
79-
createdAt: 'today',
80-
updatedAt: 'today',
81-
});
66+
test.each([EMAIL_TEMPLATE, SMS_TEMPLATE, LETTER_TEMPLATE])(
67+
'should render invalid template, when template type is $templateType',
68+
async (template) => {
69+
getTemplateMock.mockResolvedValueOnce(template);
8270

8371
await EditNhsAppTemplatePage({
8472
params: Promise.resolve({

frontend/src/__tests__/app/edit-text-message-template/page.test.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
*/
44
import EditSmsTemplatePage from '@app/edit-text-message-template/[templateId]/page';
55
import { getTemplate } from '@utils/form-actions';
6-
import {
7-
SMSTemplate,
8-
TemplateType,
9-
TemplateStatus,
10-
} from 'nhs-notify-web-template-management-utils';
116
import { redirect } from 'next/navigation';
127
import { SmsTemplateForm } from '@forms/SmsTemplateForm/SmsTemplateForm';
13-
import { TemplateDTO } from 'nhs-notify-backend-client';
8+
import {
9+
TemplateDTO,
10+
TemplateStatus,
11+
TemplateType,
12+
} from 'nhs-notify-backend-client';
13+
import { SMSTemplate } from 'nhs-notify-web-template-management-utils';
1414

1515
jest.mock('@utils/form-actions');
1616
jest.mock('next/navigation');

frontend/src/__tests__/app/email-template-submitted/page.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
import { TemplateSubmitted } from '@molecules/TemplateSubmitted/TemplateSubmitted';
1010
import { getTemplate } from '@utils/form-actions';
1111
import { redirect } from 'next/navigation';
12+
import { TemplateDTO } from 'nhs-notify-backend-client';
1213

1314
jest.mock('@molecules/TemplateSubmitted/TemplateSubmitted');
1415
jest.mock('@utils/form-actions');
@@ -30,7 +31,7 @@ describe('EmailTemplateSubmittedPage', () => {
3031
subject: 'subject',
3132
createdAt: 'today',
3233
updatedAt: 'today',
33-
};
34+
} satisfies TemplateDTO;
3435

3536
getTemplateMock.mockResolvedValueOnce(template);
3637

0 commit comments

Comments
 (0)