Skip to content

Commit 692072f

Browse files
committed
CCM-11492 Add snapshot test
1 parent 3b72e99 commit 692072f

File tree

2 files changed

+140
-7
lines changed

2 files changed

+140
-7
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`ChooseTemplatesPage renders correctly for a message plan with multiple templates (snapshot) 1`] = `
4+
<CreateEditMessagePlan
5+
messagePlan={
6+
{
7+
"campaignId": "campaign-2",
8+
"cascade": [
9+
{
10+
"cascadeGroups": [
11+
"standard",
12+
],
13+
"channel": "NHSAPP",
14+
"channelType": "primary",
15+
"defaultTemplateId": "d3a2c6ba-438a-4bf4-b94a-7c64c6528e7f",
16+
},
17+
{
18+
"cascadeGroups": [
19+
"standard",
20+
],
21+
"channel": "SMS",
22+
"channelType": "primary",
23+
"defaultTemplateId": "5f7c3e1d-9b1a-4d3a-8f3e-2c6b8e9f1a2b",
24+
},
25+
{
26+
"cascadeGroups": [
27+
"standard",
28+
],
29+
"channel": "LETTER",
30+
"channelType": "primary",
31+
"defaultTemplateId": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
32+
},
33+
],
34+
"cascadeGroupOverrides": [],
35+
"clientId": "client-1",
36+
"createdAt": "2025-01-13T10:19:25.579Z",
37+
"id": "fbb81055-79b9-4759-ac07-d191ae57be34",
38+
"name": "Autumn Campaign Plan",
39+
"status": "DRAFT",
40+
"updatedAt": "2025-01-13T10:19:25.579Z",
41+
}
42+
}
43+
templates={
44+
{
45+
"test-template-app": {
46+
"createdAt": "2025-01-13T10:19:25.579Z",
47+
"id": "d3a2c6ba-438a-4bf4-b94a-7c64c6528e7f",
48+
"message": "message",
49+
"name": "name",
50+
"templateStatus": "NOT_YET_SUBMITTED",
51+
"templateType": "NHS_APP",
52+
"updatedAt": "2025-01-13T10:19:25.579Z",
53+
},
54+
"test-template-letter": {
55+
"createdAt": "2025-01-13T10:19:25.579Z",
56+
"files": {
57+
"pdfTemplate": {
58+
"currentVersion": "8ADED236B5AE",
59+
"fileName": "template.pdf",
60+
"virusScanStatus": "PASSED",
61+
},
62+
},
63+
"id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
64+
"language": "en",
65+
"letterType": "x0",
66+
"name": "name",
67+
"templateStatus": "NOT_YET_SUBMITTED",
68+
"templateType": "LETTER",
69+
"updatedAt": "2025-01-13T10:19:25.579Z",
70+
},
71+
"test-template-sms": {
72+
"createdAt": "2025-01-13T10:19:25.579Z",
73+
"id": "5f7c3e1d-9b1a-4d3a-8f3e-2c6b8e9f1a2b",
74+
"message": "message",
75+
"name": "name",
76+
"templateStatus": "NOT_YET_SUBMITTED",
77+
"templateType": "SMS",
78+
"updatedAt": "2025-01-13T10:19:25.579Z",
79+
},
80+
}
81+
}
82+
/>
83+
`;

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

Lines changed: 57 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ const redirectMock = jest.mocked(redirect);
2929
const getMessagePlanMock = jest.mocked(getMessagePlan);
3030
const getMessagePlanTemplatesMock = jest.mocked(getMessagePlanTemplates);
3131

32+
const validRoutingConfigId = 'fbb81055-79b9-4759-ac07-d191ae57be34';
33+
3234
const routingConfig: RoutingConfig = {
33-
id: 'routing-config-001',
35+
id: validRoutingConfigId,
3436
name: 'Autumn Campaign Plan',
3537
status: 'DRAFT' as RoutingConfigStatus,
36-
clientId: 'clientemplate-123',
37-
campaignId: 'camp-123',
38+
clientId: 'client-1',
39+
campaignId: 'campaign-2',
3840
createdAt: '2025-01-13T10:19:25.579Z',
3941
updatedAt: '2025-01-13T10:19:25.579Z',
4042
cascadeGroupOverrides: [],
@@ -66,10 +68,10 @@ describe('ChooseTemplatesPage', () => {
6668
getMessagePlanTemplatesMock.mockResolvedValueOnce({});
6769

6870
const page = await ChooseTemplatesPage({
69-
params: Promise.resolve({ routingConfigId: 'routing-config-001' }),
71+
params: Promise.resolve({ routingConfigId: validRoutingConfigId }),
7072
});
7173

72-
expect(getMessagePlanMock).toHaveBeenCalledWith('routing-config-001');
74+
expect(getMessagePlanMock).toHaveBeenCalledWith(validRoutingConfigId);
7375
expect(getMessagePlanTemplatesMock).toHaveBeenCalledWith(routingConfig);
7476

7577
expect(page).toEqual(
@@ -98,10 +100,10 @@ describe('ChooseTemplatesPage', () => {
98100
getMessagePlanTemplatesMock.mockResolvedValueOnce(templates);
99101

100102
const page = await ChooseTemplatesPage({
101-
params: Promise.resolve({ routingConfigId: 'routing-config-001' }),
103+
params: Promise.resolve({ routingConfigId: validRoutingConfigId }),
102104
});
103105

104-
expect(getMessagePlanMock).toHaveBeenCalledWith('routing-config-001');
106+
expect(getMessagePlanMock).toHaveBeenCalledWith(validRoutingConfigId);
105107
expect(getMessagePlanTemplatesMock).toHaveBeenCalledWith(planWithCascade);
106108

107109
expect(page).toEqual(
@@ -177,4 +179,52 @@ describe('ChooseTemplatesPage', () => {
177179
);
178180
expect(getMessagePlanTemplatesMock).not.toHaveBeenCalled();
179181
});
182+
183+
it('renders correctly for a message plan with multiple templates (snapshot)', async () => {
184+
const appTemplateId = 'd3a2c6ba-438a-4bf4-b94a-7c64c6528e7f';
185+
const smsTemplateId = '5f7c3e1d-9b1a-4d3a-8f3e-2c6b8e9f1a2b';
186+
const letterTemplateId = '9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d';
187+
188+
const planWithMultiple: RoutingConfig = {
189+
...routingConfig,
190+
cascade: [
191+
{
192+
cascadeGroups: ['standard'],
193+
channel: 'NHSAPP',
194+
channelType: 'primary',
195+
defaultTemplateId: appTemplateId,
196+
},
197+
{
198+
cascadeGroups: ['standard'],
199+
channel: 'SMS',
200+
channelType: 'primary',
201+
defaultTemplateId: smsTemplateId,
202+
},
203+
{
204+
cascadeGroups: ['standard'],
205+
channel: 'LETTER',
206+
channelType: 'primary',
207+
defaultTemplateId: letterTemplateId,
208+
},
209+
],
210+
};
211+
212+
const templates = {
213+
'test-template-app': { ...NHS_APP_TEMPLATE, id: appTemplateId },
214+
'test-template-sms': { ...SMS_TEMPLATE, id: smsTemplateId },
215+
'test-template-letter': {
216+
...LETTER_TEMPLATE,
217+
id: letterTemplateId,
218+
},
219+
};
220+
221+
getMessagePlanMock.mockResolvedValueOnce(planWithMultiple);
222+
getMessagePlanTemplatesMock.mockResolvedValueOnce(templates);
223+
224+
const page = await ChooseTemplatesPage({
225+
params: Promise.resolve({ routingConfigId: validRoutingConfigId }),
226+
});
227+
228+
expect(page).toMatchSnapshot();
229+
});
180230
});

0 commit comments

Comments
 (0)