Skip to content

Commit 4109886

Browse files
CCM-13012: Fix CI
1 parent a3649f1 commit 4109886

File tree

3 files changed

+60
-6
lines changed

3 files changed

+60
-6
lines changed

frontend/src/__tests__/components/forms/ChooseChannelTemplate/server-action.test.ts

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
NHS_APP_TEMPLATE,
66
ROUTING_CONFIG,
77
SMS_TEMPLATE,
8+
LETTER_TEMPLATE,
89
} from '@testhelpers/helpers';
910
import { updateRoutingConfig } from '@utils/message-plans';
1011
import { redirect, RedirectType } from 'next/navigation';
@@ -102,3 +103,55 @@ test('submit form - success updates config and redirects to choose templates', a
102103
RedirectType.push
103104
);
104105
});
106+
107+
108+
109+
test('submit form - success updates config and redirects to choose templates for letter template with supplier references', async () => {
110+
const mockRedirect = jest.mocked(redirect);
111+
const mockUpdateRoutingConfig = jest.mocked(updateRoutingConfig);
112+
113+
await chooseChannelTemplateAction(
114+
{
115+
messagePlan: {
116+
...ROUTING_CONFIG,
117+
cascade: [
118+
{
119+
cascadeGroups: ['standard'],
120+
channel: 'LETTER',
121+
channelType: 'primary',
122+
defaultTemplateId: 'letter-template-id',
123+
},
124+
],
125+
},
126+
pageHeading: 'Choose an email template',
127+
templateList: [{
128+
...LETTER_TEMPLATE,
129+
supplierReferences: {
130+
MBA: 'mba-supplier-reference'
131+
}
132+
}],
133+
cascadeIndex: 0,
134+
},
135+
getMockFormData({
136+
channelTemplate: LETTER_TEMPLATE.id,
137+
})
138+
);
139+
140+
expect(mockUpdateRoutingConfig).toHaveBeenCalledWith(ROUTING_CONFIG.id, {
141+
cascade: [
142+
{
143+
cascadeGroups: ['standard'],
144+
channel: 'LETTER',
145+
channelType: 'primary',
146+
defaultTemplateId: LETTER_TEMPLATE.id,
147+
supplierReferences: { MBA: 'mba-supplier-reference' }
148+
},
149+
],
150+
cascadeGroupOverrides: [],
151+
});
152+
153+
expect(mockRedirect).toHaveBeenCalledWith(
154+
`/message-plans/choose-templates/${ROUTING_CONFIG.id}`,
155+
RedirectType.push
156+
);
157+
});

frontend/src/__tests__/helpers/helpers.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { mockDeep } from 'jest-mock-extended';
22
import { RoutingConfig, TemplateDto } from 'nhs-notify-backend-client';
3+
import { LetterTemplate } from 'nhs-notify-web-template-management-utils';
34

45
function* iteratorFromList<T>(list: T[]): IterableIterator<T> {
56
for (const item of list) {
@@ -51,7 +52,7 @@ export const SMS_TEMPLATE: TemplateDto = {
5152
lockNumber: 1,
5253
} as const;
5354

54-
export const LETTER_TEMPLATE: TemplateDto = {
55+
export const LETTER_TEMPLATE: LetterTemplate = {
5556
id: 'letter-template-id',
5657
templateType: 'LETTER',
5758
templateStatus: 'NOT_YET_SUBMITTED',

lambdas/backend-client/src/types/generated/types.gen.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,18 +94,18 @@ export type ClientFeatures = {
9494

9595
export type ConditionalTemplateAccessible = {
9696
accessibleFormat: LetterType;
97-
templateId: string | null;
9897
supplierReferences?: {
9998
[key: string]: string;
10099
};
100+
templateId: string | null;
101101
};
102102

103103
export type ConditionalTemplateLanguage = {
104104
language: Language;
105-
templateId: string | null;
106105
supplierReferences?: {
107106
[key: string]: string;
108107
};
108+
templateId: string | null;
109109
};
110110

111111
export type CountSuccess = {
@@ -202,9 +202,9 @@ export type RoutingConfig = {
202202
campaignId: string;
203203
cascade: Array<CascadeItem>;
204204
cascadeGroupOverrides: Array<CascadeGroup>;
205-
defaultCascadeGroup: string;
206205
clientId: string;
207206
createdAt: string;
207+
defaultCascadeGroup: string;
208208
id: string;
209209
name: string;
210210
status: RoutingConfigStatus;
@@ -233,6 +233,8 @@ export type SmsProperties = {
233233
export type TemplateDto = BaseCreatedTemplate &
234234
(SmsProperties | EmailProperties | NhsAppProperties | LetterProperties);
235235

236+
export type TemplateStatus = TemplateStatusActive | 'DELETED';
237+
236238
export type TemplateStatusActive =
237239
| 'NOT_YET_SUBMITTED'
238240
| 'PENDING_PROOF_REQUEST'
@@ -244,8 +246,6 @@ export type TemplateStatusActive =
244246
| 'WAITING_FOR_PROOF'
245247
| 'PROOF_AVAILABLE';
246248

247-
export type TemplateStatus = TemplateStatusActive | 'DELETED';
248-
249249
export type TemplateSuccess = {
250250
data: TemplateDto;
251251
statusCode: number;

0 commit comments

Comments
 (0)