Skip to content

Commit 439c619

Browse files
CCM-13012: Add defaultCascadeGroup and supplierReferences (#767)
1 parent ea0ef95 commit 439c619

File tree

32 files changed

+399
-233
lines changed

32 files changed

+399
-233
lines changed

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ import {
77
getRoutingConfig,
88
getMessagePlanTemplates,
99
} from '@utils/message-plans';
10-
import type {
11-
RoutingConfig,
12-
RoutingConfigStatus,
13-
} from 'nhs-notify-backend-client';
10+
import type { RoutingConfig } from 'nhs-notify-backend-client';
1411
import {
1512
EMAIL_TEMPLATE,
1613
LETTER_TEMPLATE,
@@ -34,13 +31,14 @@ const validRoutingConfigId = 'fbb81055-79b9-4759-ac07-d191ae57be34';
3431
const routingConfig: RoutingConfig = {
3532
id: validRoutingConfigId,
3633
name: 'Autumn Campaign Plan',
37-
status: 'DRAFT' as RoutingConfigStatus,
34+
status: 'DRAFT',
3835
clientId: 'client-1',
3936
campaignId: 'campaign-2',
4037
createdAt: '2025-01-13T10:19:25.579Z',
4138
updatedAt: '2025-01-13T10:19:25.579Z',
4239
cascadeGroupOverrides: [],
4340
cascade: [],
41+
defaultCascadeGroup: 'standard',
4442
};
4543

4644
describe('ChooseTemplatesPage', () => {

frontend/src/__tests__/app/message-plans/create-message-plan/server-action.test.ts

Lines changed: 142 additions & 155 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
import { mock } from 'jest-mock-extended';
22
import { redirect, RedirectType } from 'next/navigation';
3-
import type {
4-
CascadeGroup,
5-
CascadeItem,
6-
RoutingConfig,
7-
} from 'nhs-notify-backend-client';
3+
import type { CascadeItem, RoutingConfig } from 'nhs-notify-backend-client';
84
import type { MessageOrder } from 'nhs-notify-web-template-management-utils';
95
import { createMessagePlanServerAction } from '@app/message-plans/create-message-plan/server-action';
106
import { NextRedirectError } from '@testhelpers/next-redirect';
@@ -26,175 +22,166 @@ beforeEach(() => {
2622
jest.clearAllMocks();
2723
});
2824

29-
const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[], CascadeGroup[]][] =
25+
const MESSAGE_ORDER_SCENARIOS: [MessageOrder, CascadeItem[]][] = [
3026
[
27+
'NHSAPP',
3128
[
32-
'NHSAPP',
33-
[
34-
{
35-
cascadeGroups: ['standard'],
36-
channel: 'NHSAPP',
37-
channelType: 'primary',
38-
defaultTemplateId: null,
39-
},
40-
],
41-
[{ name: 'standard' }],
29+
{
30+
cascadeGroups: ['standard'],
31+
channel: 'NHSAPP',
32+
channelType: 'primary',
33+
defaultTemplateId: null,
34+
},
4235
],
36+
],
37+
[
38+
'NHSAPP,EMAIL',
4339
[
44-
'NHSAPP,EMAIL',
45-
[
46-
{
47-
cascadeGroups: ['standard'],
48-
channel: 'NHSAPP',
49-
channelType: 'primary',
50-
defaultTemplateId: null,
51-
},
52-
{
53-
cascadeGroups: ['standard'],
54-
channel: 'EMAIL',
55-
channelType: 'primary',
56-
defaultTemplateId: null,
57-
},
58-
],
59-
[{ name: 'standard' }],
40+
{
41+
cascadeGroups: ['standard'],
42+
channel: 'NHSAPP',
43+
channelType: 'primary',
44+
defaultTemplateId: null,
45+
},
46+
{
47+
cascadeGroups: ['standard'],
48+
channel: 'EMAIL',
49+
channelType: 'primary',
50+
defaultTemplateId: null,
51+
},
6052
],
53+
],
54+
[
55+
'NHSAPP,SMS',
6156
[
62-
'NHSAPP,SMS',
63-
[
64-
{
65-
cascadeGroups: ['standard'],
66-
channel: 'NHSAPP',
67-
channelType: 'primary',
68-
defaultTemplateId: null,
69-
},
70-
{
71-
cascadeGroups: ['standard'],
72-
channel: 'SMS',
73-
channelType: 'primary',
74-
defaultTemplateId: null,
75-
},
76-
],
77-
[{ name: 'standard' }],
57+
{
58+
cascadeGroups: ['standard'],
59+
channel: 'NHSAPP',
60+
channelType: 'primary',
61+
defaultTemplateId: null,
62+
},
63+
{
64+
cascadeGroups: ['standard'],
65+
channel: 'SMS',
66+
channelType: 'primary',
67+
defaultTemplateId: null,
68+
},
7869
],
70+
],
71+
[
72+
'NHSAPP,EMAIL,SMS',
7973
[
80-
'NHSAPP,EMAIL,SMS',
81-
[
82-
{
83-
cascadeGroups: ['standard'],
84-
channel: 'NHSAPP',
85-
channelType: 'primary',
86-
defaultTemplateId: null,
87-
},
88-
{
89-
cascadeGroups: ['standard'],
90-
channel: 'EMAIL',
91-
channelType: 'primary',
92-
defaultTemplateId: null,
93-
},
94-
{
95-
cascadeGroups: ['standard'],
96-
channel: 'SMS',
97-
channelType: 'primary',
98-
defaultTemplateId: null,
99-
},
100-
],
101-
[{ name: 'standard' }],
74+
{
75+
cascadeGroups: ['standard'],
76+
channel: 'NHSAPP',
77+
channelType: 'primary',
78+
defaultTemplateId: null,
79+
},
80+
{
81+
cascadeGroups: ['standard'],
82+
channel: 'EMAIL',
83+
channelType: 'primary',
84+
defaultTemplateId: null,
85+
},
86+
{
87+
cascadeGroups: ['standard'],
88+
channel: 'SMS',
89+
channelType: 'primary',
90+
defaultTemplateId: null,
91+
},
10292
],
93+
],
94+
[
95+
'NHSAPP,SMS,EMAIL',
10396
[
104-
'NHSAPP,SMS,EMAIL',
105-
[
106-
{
107-
cascadeGroups: ['standard'],
108-
channel: 'NHSAPP',
109-
channelType: 'primary',
110-
defaultTemplateId: null,
111-
},
112-
{
113-
cascadeGroups: ['standard'],
114-
channel: 'SMS',
115-
channelType: 'primary',
116-
defaultTemplateId: null,
117-
},
118-
{
119-
cascadeGroups: ['standard'],
120-
channel: 'EMAIL',
121-
channelType: 'primary',
122-
defaultTemplateId: null,
123-
},
124-
],
125-
[{ name: 'standard' }],
97+
{
98+
cascadeGroups: ['standard'],
99+
channel: 'NHSAPP',
100+
channelType: 'primary',
101+
defaultTemplateId: null,
102+
},
103+
{
104+
cascadeGroups: ['standard'],
105+
channel: 'SMS',
106+
channelType: 'primary',
107+
defaultTemplateId: null,
108+
},
109+
{
110+
cascadeGroups: ['standard'],
111+
channel: 'EMAIL',
112+
channelType: 'primary',
113+
defaultTemplateId: null,
114+
},
126115
],
116+
],
117+
[
118+
'NHSAPP,SMS,LETTER',
127119
[
128-
'NHSAPP,SMS,LETTER',
129-
[
130-
{
131-
cascadeGroups: ['standard'],
132-
channel: 'NHSAPP',
133-
channelType: 'primary',
134-
defaultTemplateId: null,
135-
},
136-
{
137-
cascadeGroups: ['standard'],
138-
channel: 'SMS',
139-
channelType: 'primary',
140-
defaultTemplateId: null,
141-
},
142-
{
143-
cascadeGroups: ['standard'],
144-
channel: 'LETTER',
145-
channelType: 'primary',
146-
defaultTemplateId: null,
147-
},
148-
],
149-
[{ name: 'standard' }],
120+
{
121+
cascadeGroups: ['standard'],
122+
channel: 'NHSAPP',
123+
channelType: 'primary',
124+
defaultTemplateId: null,
125+
},
126+
{
127+
cascadeGroups: ['standard'],
128+
channel: 'SMS',
129+
channelType: 'primary',
130+
defaultTemplateId: null,
131+
},
132+
{
133+
cascadeGroups: ['standard'],
134+
channel: 'LETTER',
135+
channelType: 'primary',
136+
defaultTemplateId: null,
137+
},
150138
],
139+
],
140+
[
141+
'NHSAPP,EMAIL,SMS,LETTER',
151142
[
152-
'NHSAPP,EMAIL,SMS,LETTER',
153-
[
154-
{
155-
cascadeGroups: ['standard'],
156-
channel: 'NHSAPP',
157-
channelType: 'primary',
158-
defaultTemplateId: null,
159-
},
160-
{
161-
cascadeGroups: ['standard'],
162-
channel: 'EMAIL',
163-
channelType: 'primary',
164-
defaultTemplateId: null,
165-
},
166-
{
167-
cascadeGroups: ['standard'],
168-
channel: 'SMS',
169-
channelType: 'primary',
170-
defaultTemplateId: null,
171-
},
172-
{
173-
cascadeGroups: ['standard'],
174-
channel: 'LETTER',
175-
channelType: 'primary',
176-
defaultTemplateId: null,
177-
},
178-
],
179-
[{ name: 'standard' }],
143+
{
144+
cascadeGroups: ['standard'],
145+
channel: 'NHSAPP',
146+
channelType: 'primary',
147+
defaultTemplateId: null,
148+
},
149+
{
150+
cascadeGroups: ['standard'],
151+
channel: 'EMAIL',
152+
channelType: 'primary',
153+
defaultTemplateId: null,
154+
},
155+
{
156+
cascadeGroups: ['standard'],
157+
channel: 'SMS',
158+
channelType: 'primary',
159+
defaultTemplateId: null,
160+
},
161+
{
162+
cascadeGroups: ['standard'],
163+
channel: 'LETTER',
164+
channelType: 'primary',
165+
defaultTemplateId: null,
166+
},
180167
],
168+
],
169+
[
170+
'LETTER',
181171
[
182-
'LETTER',
183-
[
184-
{
185-
cascadeGroups: ['standard'],
186-
channel: 'LETTER',
187-
channelType: 'primary',
188-
defaultTemplateId: null,
189-
},
190-
],
191-
[{ name: 'standard' }],
172+
{
173+
cascadeGroups: ['standard'],
174+
channel: 'LETTER',
175+
channelType: 'primary',
176+
defaultTemplateId: null,
177+
},
192178
],
193-
];
179+
],
180+
];
194181

195182
test.each(MESSAGE_ORDER_SCENARIOS)(
196183
'creates a message plan with correct initial cascade for %s message order and redirects to the choose templates page',
197-
async (messageOrder, expectedCascade, expectedCascadeGroups) => {
184+
async (messageOrder, expectedCascade) => {
198185
const form = new FormData();
199186
form.append('name', 'Message Plan Name');
200187
form.append('campaignId', 'test-campaign-id');
@@ -212,7 +199,7 @@ test.each(MESSAGE_ORDER_SCENARIOS)(
212199
name: 'Message Plan Name',
213200
campaignId: 'test-campaign-id',
214201
cascade: expectedCascade,
215-
cascadeGroupOverrides: expectedCascadeGroups,
202+
cascadeGroupOverrides: [],
216203
});
217204
}
218205
);

0 commit comments

Comments
 (0)