11import { mock } from 'jest-mock-extended' ;
22import { 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' ;
84import type { MessageOrder } from 'nhs-notify-web-template-management-utils' ;
95import { createMessagePlanServerAction } from '@app/message-plans/create-message-plan/server-action' ;
106import { 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
195182test . 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