Skip to content

Commit 0c5d6a4

Browse files
committed
CCM-7465: resolve unit test errors
1 parent fb31916 commit 0c5d6a4

File tree

19 files changed

+179
-127
lines changed

19 files changed

+179
-127
lines changed

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
} from 'nhs-notify-web-template-management-utils';
1111
import { redirect } from 'next/navigation';
1212
import { getTemplate } from '@utils/form-actions';
13+
import { TemplateDTO } from 'nhs-notify-backend-client';
1314

1415
jest.mock('@utils/form-actions');
1516
jest.mock('next/navigation');
@@ -22,20 +23,18 @@ describe('CopyTemplatePage', () => {
2223
beforeEach(jest.resetAllMocks);
2324

2425
it('should load page', async () => {
25-
const template: EmailTemplate = {
26+
const template: TemplateDTO = {
2627
id: 'template-id',
2728
templateType: TemplateType.EMAIL,
2829
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
2930
name: 'template-name',
3031
subject: 'template-subject-line',
3132
message: 'template-message',
33+
createdAt: '2025-01-13T10:19:25.579Z',
34+
updatedAt: '2025-01-13T10:19:25.579Z',
3235
};
3336

34-
getTemplateMock.mockResolvedValueOnce({
35-
...template,
36-
createdAt: 'today',
37-
updatedAt: 'today',
38-
});
37+
getTemplateMock.mockResolvedValueOnce(template);
3938

4039
const page = await CopyTemplatePage({
4140
params: {

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

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
} from 'nhs-notify-web-template-management-utils';
1111
import { redirect } from 'next/navigation';
1212
import { getTemplate } from '@utils/form-actions';
13+
import { TemplateDTO } from 'nhs-notify-backend-client';
1314

1415
jest.mock('@utils/form-actions');
1516
jest.mock('next/navigation');
@@ -22,28 +23,33 @@ describe('PreviewEmailTemplatePage', () => {
2223
beforeEach(jest.resetAllMocks);
2324

2425
it('should load page', async () => {
25-
const state: EmailTemplate = {
26+
const templateDTO: TemplateDTO = {
2627
id: 'template-id',
2728
templateType: TemplateType.EMAIL,
2829
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
2930
name: 'template-name',
3031
subject: 'template-subject-line',
3132
message: 'template-message',
33+
createdAt: '2025-01-13T10:19:25.579Z',
34+
updatedAt: '2025-01-13T10:19:25.579Z',
3235
};
3336

34-
getTemplateMock.mockResolvedValueOnce({
35-
...state,
36-
createdAt: 'today',
37-
updatedAt: 'today',
38-
});
37+
const emailTemplate: EmailTemplate = {
38+
...templateDTO,
39+
subject: 'template-subject-line',
40+
templateType: TemplateType.EMAIL,
41+
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
42+
}
43+
44+
getTemplateMock.mockResolvedValueOnce(templateDTO);
3945

4046
const page = await DeleteTemplatePage({
4147
params: {
4248
templateId: 'template-id',
4349
},
4450
});
4551

46-
expect(page).toEqual(<DeleteTemplate template={state} />);
52+
expect(page).toEqual(<DeleteTemplate template={emailTemplate} />);
4753
});
4854

4955
it('should redirect to invalid-template when no templateId is found', async () => {

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

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
} from 'nhs-notify-web-template-management-utils';
1111
import { redirect } from 'next/navigation';
1212
import { EmailTemplateForm } from '@forms/EmailTemplateForm/EmailTemplateForm';
13+
import { TemplateDTO } from 'nhs-notify-backend-client';
1314

1415
jest.mock('@utils/form-actions');
1516
jest.mock('next/navigation');
@@ -18,13 +19,15 @@ jest.mock('@forms/EmailTemplateForm/EmailTemplateForm');
1819
const getTemplateMock = jest.mocked(getTemplate);
1920
const redirectMock = jest.mocked(redirect);
2021

21-
const initialState: EmailTemplate = {
22+
const templateDTO: TemplateDTO = {
2223
id: 'template-id',
2324
templateType: TemplateType.EMAIL,
2425
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
2526
name: 'name',
2627
subject: 'subject',
2728
message: 'message',
29+
createdAt: '2025-01-13T10:19:25.579Z',
30+
updatedAt: '2025-01-13T10:19:25.579Z',
2831
};
2932

3033
describe('EditEmailTemplatePage', () => {
@@ -42,10 +45,8 @@ describe('EditEmailTemplatePage', () => {
4245

4346
it('should redirect to invalid-template when template type is not EMAIL', async () => {
4447
getTemplateMock.mockResolvedValueOnce({
45-
...initialState,
48+
...templateDTO,
4649
templateType: TemplateType.NHS_APP,
47-
createdAt: 'today',
48-
updatedAt: 'today',
4950
});
5051

5152
await EditEmailTemplatePage({ params: { templateId: 'template-id' } });
@@ -56,18 +57,21 @@ describe('EditEmailTemplatePage', () => {
5657
});
5758

5859
it('should render CreateEmailTemplatePage component when template is found', async () => {
59-
getTemplateMock.mockResolvedValueOnce({
60-
...initialState,
61-
createdAt: 'today',
62-
updatedAt: 'today',
63-
});
60+
getTemplateMock.mockResolvedValueOnce(templateDTO);
61+
62+
const emailTemplate: EmailTemplate = {
63+
...templateDTO,
64+
subject: 'subject',
65+
templateType: TemplateType.EMAIL,
66+
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
67+
}
6468

6569
const page = await EditEmailTemplatePage({
6670
params: { templateId: 'template-id' },
6771
});
6872

6973
expect(getTemplateMock).toHaveBeenCalledWith('template-id');
7074

71-
expect(page).toEqual(<EmailTemplateForm initialState={initialState} />);
75+
expect(page).toEqual(<EmailTemplateForm initialState={emailTemplate} />);
7276
});
7377
});

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

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
import { getTemplate } from '@utils/form-actions';
1111
import { NhsAppTemplateForm } from '@forms/NhsAppTemplateForm/NhsAppTemplateForm';
1212
import EditNhsAppTemplatePage from '@app/edit-nhs-app-template/[templateId]/page';
13+
import { TemplateDTO } from 'nhs-notify-backend-client';
1314

1415
jest.mock('@forms/NhsAppTemplateForm/NhsAppTemplateForm');
1516
jest.mock('@utils/form-actions');
@@ -22,25 +23,29 @@ describe('EditNhsAppTemplatePage', () => {
2223
beforeEach(jest.resetAllMocks);
2324

2425
test('page loads', async () => {
25-
const state: NHSAppTemplate = {
26+
const templateDTO: TemplateDTO = {
2627
id: 'template-id',
2728
templateType: TemplateType.NHS_APP,
2829
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
2930
name: 'name',
3031
message: 'message',
32+
createdAt: '2025-01-13T10:19:25.579Z',
33+
updatedAt: '2025-01-13T10:19:25.579Z',
3134
};
3235

33-
getTemplateMock.mockResolvedValueOnce({
34-
...state,
35-
createdAt: 'today',
36-
updatedAt: 'today',
37-
});
36+
const nhsAppTemplate: NHSAppTemplate = {
37+
...templateDTO,
38+
templateType: TemplateType.NHS_APP,
39+
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
40+
}
41+
42+
getTemplateMock.mockResolvedValueOnce(templateDTO);
3843

3944
const page = await EditNhsAppTemplatePage({
4045
params: { templateId: 'template-id' },
4146
});
4247

43-
expect(page).toEqual(<NhsAppTemplateForm initialState={state} />);
48+
expect(page).toEqual(<NhsAppTemplateForm initialState={nhsAppTemplate} />);
4449
});
4550

4651
test('should render invalid template, when template is not found', async () => {

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

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
} from 'nhs-notify-web-template-management-utils';
1111
import { redirect } from 'next/navigation';
1212
import { SmsTemplateForm } from '@forms/SmsTemplateForm/SmsTemplateForm';
13+
import { TemplateDTO } from 'nhs-notify-backend-client';
1314

1415
jest.mock('@utils/form-actions');
1516
jest.mock('next/navigation');
@@ -18,12 +19,14 @@ jest.mock('@forms/SmsTemplateForm/SmsTemplateForm');
1819
const getTemplateMock = jest.mocked(getTemplate);
1920
const redirectMock = jest.mocked(redirect);
2021

21-
const initialState: SMSTemplate = {
22+
const templateDTO: TemplateDTO = {
2223
id: 'template-id',
2324
templateType: TemplateType.SMS,
2425
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
25-
name: '',
26-
message: '',
26+
name: 'name',
27+
message: 'message',
28+
createdAt: '2025-01-13T10:19:25.579Z',
29+
updatedAt: '2025-01-13T10:19:25.579Z',
2730
};
2831

2932
describe('EditSmsTemplatePage', () => {
@@ -41,10 +44,8 @@ describe('EditSmsTemplatePage', () => {
4144

4245
it('should redirect to invalid-template when template type is not SMS', async () => {
4346
getTemplateMock.mockResolvedValueOnce({
44-
...initialState,
47+
...templateDTO,
4548
templateType: TemplateType.NHS_APP,
46-
createdAt: 'today',
47-
updatedAt: 'today',
4849
});
4950

5051
await EditSmsTemplatePage({ params: { templateId: 'template-id' } });
@@ -55,18 +56,20 @@ describe('EditSmsTemplatePage', () => {
5556
});
5657

5758
it('should render CreateSmsTemplate component when templateId is found', async () => {
58-
getTemplateMock.mockResolvedValueOnce({
59-
...initialState,
60-
createdAt: 'today',
61-
updatedAt: 'today',
62-
});
59+
getTemplateMock.mockResolvedValueOnce(templateDTO);
60+
61+
const smsTemplate: SMSTemplate = {
62+
...templateDTO,
63+
templateType: TemplateType.SMS,
64+
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
65+
}
6366

6467
const page = await EditSmsTemplatePage({
6568
params: { templateId: 'template-id' },
6669
});
6770

6871
expect(getTemplateMock).toHaveBeenCalledWith('template-id');
6972

70-
expect(page).toEqual(<SmsTemplateForm initialState={initialState} />);
73+
expect(page).toEqual(<SmsTemplateForm initialState={smsTemplate} />);
7174
});
7275
});

frontend/src/__tests__/app/manage-templates/page.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ const mockTemplates: TemplateDTO[] = [
1919
name: 'Template 1',
2020
message: 'Message',
2121
subject: 'Subject Line',
22-
createdAt: 'today',
23-
updatedAt: 'today',
22+
createdAt: '2025-01-13T10:19:25.579Z',
23+
updatedAt: '2025-01-13T10:19:25.579Z',
2424
},
2525
];
2626

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

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
} from 'nhs-notify-web-template-management-utils';
1111
import { redirect } from 'next/navigation';
1212
import { getTemplate } from '@utils/form-actions';
13+
import { TemplateDTO } from 'nhs-notify-backend-client';
1314

1415
jest.mock('@utils/form-actions');
1516
jest.mock('next/navigation');
@@ -22,28 +23,33 @@ describe('PreviewEmailTemplatePage', () => {
2223
beforeEach(jest.resetAllMocks);
2324

2425
it('should load page', async () => {
25-
const state: EmailTemplate = {
26+
const templateDTO: TemplateDTO = {
2627
id: 'template-id',
2728
templateType: TemplateType.EMAIL,
2829
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
2930
name: 'template-name',
3031
subject: 'template-subject-line',
3132
message: 'template-message',
33+
createdAt: '2025-01-13T10:19:25.579Z',
34+
updatedAt: '2025-01-13T10:19:25.579Z',
3235
};
3336

34-
getTemplateMock.mockResolvedValueOnce({
35-
...state,
36-
createdAt: 'today',
37-
updatedAt: 'today',
38-
});
37+
const emailTemplate: EmailTemplate = {
38+
...templateDTO,
39+
subject: 'template-subject-line',
40+
templateType: TemplateType.EMAIL,
41+
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
42+
}
43+
44+
getTemplateMock.mockResolvedValueOnce(templateDTO);
3945

4046
const page = await PreviewEmailTemplatePage({
4147
params: {
4248
templateId: 'template-id',
4349
},
4450
});
4551

46-
expect(page).toEqual(<ReviewEmailTemplate initialState={state} />);
52+
expect(page).toEqual(<ReviewEmailTemplate initialState={emailTemplate} />);
4753
});
4854

4955
it('should redirect to invalid-template when no templateId is found', async () => {
@@ -100,8 +106,8 @@ describe('PreviewEmailTemplatePage', () => {
100106
id: 'template-id',
101107
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
102108
...value,
103-
createdAt: 'today',
104-
updatedAt: 'today',
109+
createdAt: '2025-01-13T10:19:25.579Z',
110+
updatedAt: '2025-01-13T10:19:25.579Z',
105111
});
106112

107113
await PreviewEmailTemplatePage({

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

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
} from 'nhs-notify-web-template-management-utils';
1111
import { redirect } from 'next/navigation';
1212
import { getTemplate } from '@utils/form-actions';
13+
import { TemplateDTO } from 'nhs-notify-backend-client';
1314

1415
jest.mock('@utils/form-actions');
1516
jest.mock('next/navigation');
@@ -22,27 +23,31 @@ describe('PreviewNhsAppTemplatePage', () => {
2223
beforeEach(jest.resetAllMocks);
2324

2425
it('should load page', async () => {
25-
const state: NHSAppTemplate = {
26+
const templateDTO: TemplateDTO = {
2627
id: 'template-id',
2728
templateType: TemplateType.NHS_APP,
2829
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
2930
name: 'template-name',
3031
message: 'template-message',
32+
createdAt: '2025-01-13T10:19:25.579Z',
33+
updatedAt: '2025-01-13T10:19:25.579Z',
3134
};
3235

33-
getTemplateMock.mockResolvedValueOnce({
34-
...state,
35-
createdAt: 'today',
36-
updatedAt: 'today',
37-
});
36+
const nhsAppTemplate: NHSAppTemplate = {
37+
...templateDTO,
38+
templateType: TemplateType.NHS_APP,
39+
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
40+
}
41+
42+
getTemplateMock.mockResolvedValueOnce(templateDTO);
3843

3944
const page = await PreviewNhsAppTemplatePage({
4045
params: {
4146
templateId: 'template-id',
4247
},
4348
});
4449

45-
expect(page).toEqual(<ReviewNHSAppTemplate initialState={state} />);
50+
expect(page).toEqual(<ReviewNHSAppTemplate initialState={nhsAppTemplate} />);
4651
});
4752

4853
it('should redirect to invalid-template when no template is found', async () => {
@@ -88,8 +93,8 @@ describe('PreviewNhsAppTemplatePage', () => {
8893
id: 'template-id',
8994
templateStatus: TemplateStatus.NOT_YET_SUBMITTED,
9095
...value,
91-
createdAt: 'today',
92-
updatedAt: 'today',
96+
createdAt: '2025-01-13T10:19:25.579Z',
97+
updatedAt: '2025-01-13T10:19:25.579Z',
9398
});
9499

95100
await PreviewNhsAppTemplatePage({

0 commit comments

Comments
 (0)