Skip to content

Commit 83fb9d4

Browse files
committed
CCM-11544 Handle lock number and update snapshots
1 parent 7ad5dba commit 83fb9d4

File tree

8 files changed

+62
-21
lines changed

8 files changed

+62
-21
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ exports[`ChooseTemplatesPage renders correctly for a message plan with multiple
791791
<a
792792
class="nhsuk-link nhsuk-link--no-visited-state"
793793
data-testid="choose-template-link-x1"
794-
href="/message-plans/choose-large-print-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=undefined"
794+
href="/message-plans/choose-large-print-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=0"
795795
>
796796
Choose
797797
<span
@@ -846,7 +846,7 @@ exports[`ChooseTemplatesPage renders correctly for a message plan with multiple
846846
<a
847847
class="nhsuk-link nhsuk-link--no-visited-state"
848848
data-testid="change-template-link-foreign-language"
849-
href="/message-plans/choose-other-language-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=undefined"
849+
href="/message-plans/choose-other-language-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=0"
850850
>
851851
Change
852852
<span
@@ -870,6 +870,7 @@ exports[`ChooseTemplatesPage renders correctly for a message plan with multiple
870870
name="lockNumber"
871871
readonly=""
872872
type="hidden"
873+
value="0"
873874
/>
874875
<input
875876
name="templateId"

frontend/src/__tests__/app/message-plans/choose-large-print-letter-template/__snapshots__/page.test.tsx.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ exports[`ChooseLargePrintLetterTemplate page renders large print letter template
4646
name="lockNumber"
4747
readonly=""
4848
type="hidden"
49+
value="42"
4950
/>
5051
<div
5152
class="nhsuk-grid-row"

frontend/src/__tests__/app/message-plans/choose-other-language-letter-template/[routingConfigId]/__snapshots__/page.test.tsx.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ exports[`ChooseOtherLanguageLetterTemplate page renders foreign language letter
4242
type="hidden"
4343
value="no_token"
4444
/>
45+
<input
46+
name="lockNumber"
47+
readonly=""
48+
type="hidden"
49+
value="42"
50+
/>
4551
<div
4652
class="nhsuk-grid-row"
4753
>

frontend/src/__tests__/components/forms/ChooseLanguageLetterTemplates/__snapshots__/ChooseLanguageLetterTemplates.test.tsx.snap

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ exports[`ChooseLanguageLetterTemplates error handling when duplicate languages a
7272
type="hidden"
7373
value="no_token"
7474
/>
75+
<input
76+
name="lockNumber"
77+
readonly=""
78+
type="hidden"
79+
value="42"
80+
/>
7581
<div
7682
class="nhsuk-grid-row"
7783
>
@@ -553,6 +559,12 @@ exports[`ChooseLanguageLetterTemplates error handling when no template is select
553559
type="hidden"
554560
value="no_token"
555561
/>
562+
<input
563+
name="lockNumber"
564+
readonly=""
565+
type="hidden"
566+
value="42"
567+
/>
556568
<div
557569
class="nhsuk-grid-row"
558570
>
@@ -1004,6 +1016,12 @@ exports[`ChooseLanguageLetterTemplates when templates are available renders mult
10041016
type="hidden"
10051017
value="no_token"
10061018
/>
1019+
<input
1020+
name="lockNumber"
1021+
readonly=""
1022+
type="hidden"
1023+
value="42"
1024+
/>
10071025
<div
10081026
class="nhsuk-grid-row"
10091027
>
@@ -1443,6 +1461,12 @@ exports[`ChooseLanguageLetterTemplates when there are language templates presele
14431461
type="hidden"
14441462
value="no_token"
14451463
/>
1464+
<input
1465+
name="lockNumber"
1466+
readonly=""
1467+
type="hidden"
1468+
value="42"
1469+
/>
14461470
<details
14471471
class="nhsuk-details"
14481472
data-testid="previous-selection-details"
@@ -1923,6 +1947,12 @@ exports[`ChooseLanguageLetterTemplates when there are no language templates pres
19231947
type="hidden"
19241948
value="no_token"
19251949
/>
1950+
<input
1951+
name="lockNumber"
1952+
readonly=""
1953+
type="hidden"
1954+
value="42"
1955+
/>
19261956
<div
19271957
class="nhsuk-grid-row"
19281958
>
@@ -2362,6 +2392,12 @@ exports[`ChooseLanguageLetterTemplates when there are no templates renders corre
23622392
type="hidden"
23632393
value="no_token"
23642394
/>
2395+
<input
2396+
name="lockNumber"
2397+
readonly=""
2398+
type="hidden"
2399+
value="42"
2400+
/>
23652401
<p
23662402
class="nhsuk-body"
23672403
data-testid="no-templates-message"

frontend/src/__tests__/components/molecules/__snapshots__/MessagePlanBlock.test.tsx.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ exports[`MessagePlanBlock for channel LETTER with no template should match snaps
313313
<a
314314
class="nhsuk-link nhsuk-link--no-visited-state"
315315
data-testid="choose-template-link-x1"
316-
href="/message-plans/choose-large-print-letter-template/test-routing-config-id?lockNumber=undefined"
316+
href="/message-plans/choose-large-print-letter-template/test-routing-config-id?lockNumber=42"
317317
>
318318
Choose
319319
<span
@@ -350,7 +350,7 @@ exports[`MessagePlanBlock for channel LETTER with no template should match snaps
350350
<a
351351
class="nhsuk-link nhsuk-link--no-visited-state"
352352
data-testid="choose-template-link-foreign-language"
353-
href="/message-plans/choose-other-language-letter-template/test-routing-config-id?lockNumber=undefined"
353+
href="/message-plans/choose-other-language-letter-template/test-routing-config-id?lockNumber=42"
354354
>
355355
Choose
356356
<span
@@ -575,7 +575,7 @@ exports[`MessagePlanBlock for channel LETTER with template should match snapshot
575575
<a
576576
class="nhsuk-link nhsuk-link--no-visited-state"
577577
data-testid="choose-template-link-x1"
578-
href="/message-plans/choose-large-print-letter-template/test-routing-config-id?lockNumber=undefined"
578+
href="/message-plans/choose-large-print-letter-template/test-routing-config-id?lockNumber=42"
579579
>
580580
Choose
581581
<span
@@ -612,7 +612,7 @@ exports[`MessagePlanBlock for channel LETTER with template should match snapshot
612612
<a
613613
class="nhsuk-link nhsuk-link--no-visited-state"
614614
data-testid="choose-template-link-foreign-language"
615-
href="/message-plans/choose-other-language-letter-template/test-routing-config-id?lockNumber=undefined"
615+
href="/message-plans/choose-other-language-letter-template/test-routing-config-id?lockNumber=42"
616616
>
617617
Choose
618618
<span

frontend/src/__tests__/components/organisms/__snapshots__/CreateEditMessagePlan.test.tsx.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,7 @@ exports[`CreateEditMessagePlan should match snapshot for a typical message plan
643643
<a
644644
class="nhsuk-link nhsuk-link--no-visited-state"
645645
data-testid="choose-template-link-x1"
646-
href="/message-plans/choose-large-print-letter-template/30fd1e1c-a608-47cf-9cc2-eabaeeeebeca?lockNumber=undefined"
646+
href="/message-plans/choose-large-print-letter-template/30fd1e1c-a608-47cf-9cc2-eabaeeeebeca?lockNumber=0"
647647
>
648648
Choose
649649
<span
@@ -680,7 +680,7 @@ exports[`CreateEditMessagePlan should match snapshot for a typical message plan
680680
<a
681681
class="nhsuk-link nhsuk-link--no-visited-state"
682682
data-testid="choose-template-link-foreign-language"
683-
href="/message-plans/choose-other-language-letter-template/30fd1e1c-a608-47cf-9cc2-eabaeeeebeca?lockNumber=undefined"
683+
href="/message-plans/choose-other-language-letter-template/30fd1e1c-a608-47cf-9cc2-eabaeeeebeca?lockNumber=0"
684684
>
685685
Choose
686686
<span
@@ -1375,7 +1375,7 @@ exports[`CreateEditMessagePlan should match snapshot for a typical message plan
13751375
<a
13761376
class="nhsuk-link nhsuk-link--no-visited-state"
13771377
data-testid="choose-template-link-x1"
1378-
href="/message-plans/choose-large-print-letter-template/30fd1e1c-a608-47cf-9cc2-eabaeeeebeca?lockNumber=undefined"
1378+
href="/message-plans/choose-large-print-letter-template/30fd1e1c-a608-47cf-9cc2-eabaeeeebeca?lockNumber=0"
13791379
>
13801380
Choose
13811381
<span
@@ -1412,7 +1412,7 @@ exports[`CreateEditMessagePlan should match snapshot for a typical message plan
14121412
<a
14131413
class="nhsuk-link nhsuk-link--no-visited-state"
14141414
data-testid="choose-template-link-foreign-language"
1415-
href="/message-plans/choose-other-language-letter-template/30fd1e1c-a608-47cf-9cc2-eabaeeeebeca?lockNumber=undefined"
1415+
href="/message-plans/choose-other-language-letter-template/30fd1e1c-a608-47cf-9cc2-eabaeeeebeca?lockNumber=0"
14161416
>
14171417
Choose
14181418
<span

frontend/src/__tests__/components/organisms/__snapshots__/MessagePlanChannelList.test.tsx.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,7 +1053,7 @@ exports[`MessagePlanChannelList should match snapshot for a routing plan with a
10531053
<a
10541054
class="nhsuk-link nhsuk-link--no-visited-state"
10551055
data-testid="choose-template-link-x1"
1056-
href="/message-plans/choose-large-print-letter-template/routingconfig-1?lockNumber=undefined"
1056+
href="/message-plans/choose-large-print-letter-template/routingconfig-1?lockNumber=0"
10571057
>
10581058
Choose
10591059
<span
@@ -1090,7 +1090,7 @@ exports[`MessagePlanChannelList should match snapshot for a routing plan with a
10901090
<a
10911091
class="nhsuk-link nhsuk-link--no-visited-state"
10921092
data-testid="choose-template-link-foreign-language"
1093-
href="/message-plans/choose-other-language-letter-template/routingconfig-1?lockNumber=undefined"
1093+
href="/message-plans/choose-other-language-letter-template/routingconfig-1?lockNumber=0"
10941094
>
10951095
Choose
10961096
<span

frontend/src/components/forms/ChooseLanguageLetterTemplates/server-action.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,12 @@ export type ChooseLanguageLetterTemplatesFormState = FormState &
1818
errorType?: 'missing' | 'duplicate';
1919
};
2020

21-
const formDataSchema = z.record(z.string(), z.string());
22-
2321
export const $ChooseLanguageLetterTemplates = (errorMessage: string) =>
2422
z
2523
.object({
2624
lockNumber: $LockNumber,
2725
})
28-
.and(formDataSchema)
26+
.catchall(z.string())
2927
.refine(
3028
(data) =>
3129
Object.keys(data).some(
@@ -44,10 +42,7 @@ export async function chooseLanguageLetterTemplatesAction(
4442

4543
const parsedForm = $ChooseLanguageLetterTemplates(
4644
content.error.missing.hintText
47-
).safeParse({
48-
...Object.fromEntries(formData.entries()),
49-
lockNumber: formData.get('lockNumber'),
50-
});
45+
).safeParse(Object.fromEntries(formData.entries()));
5146

5247
if (!parsedForm.success) {
5348
return {
@@ -56,10 +51,12 @@ export async function chooseLanguageLetterTemplatesAction(
5651
};
5752
}
5853

54+
const { lockNumber, ...templateSelections } = parsedForm.data;
55+
5956
const selectedLanguages: Language[] = [];
6057
const selectedTemplateIds: string[] = [];
6158

62-
for (const [key, value] of Object.entries(parsedForm.data)) {
59+
for (const [key, value] of Object.entries(templateSelections)) {
6360
if (key.startsWith('template_') && typeof value === 'string') {
6461
const [templateId, language] = value.split(':');
6562

@@ -105,7 +102,7 @@ export async function chooseLanguageLetterTemplatesAction(
105102
cascade: updatedCascade,
106103
cascadeGroupOverrides: updatedCascadeGroupOverrides,
107104
},
108-
parsedForm.data.lockNumber
105+
lockNumber
109106
);
110107

111108
redirect(

0 commit comments

Comments
 (0)