Skip to content

Commit 6f23e01

Browse files
committed
CCM-11544 Add lockNumber to preview and back links
1 parent 33619cf commit 6f23e01

File tree

38 files changed

+416
-95
lines changed

38 files changed

+416
-95
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ exports[`ChooseEmailTemplate page renders Email template selection 1`] = `
222222
aria-label="Preview"
223223
class="nhsuk-u-margin-bottom-2 nhsuk-link"
224224
data-testid="email-template-id-preview-link"
225-
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/email-template-id"
225+
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/email-template-id?lockNumber=42"
226226
id="preview-template-link-0"
227227
>
228228
Preview

frontend/src/__tests__/app/message-plans/choose-email-template/preview-template/__snapshots__/page.test.tsx.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ exports[`PreviewEmailTemplateFromMessagePlan page renders Email template preview
55
<a
66
class="nhsuk-back-link"
77
data-testid="back-link-top"
8-
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34"
8+
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=5"
99
>
1010
Go back
1111
</a>
@@ -133,7 +133,7 @@ exports[`PreviewEmailTemplateFromMessagePlan page renders Email template preview
133133
<a
134134
class="nhsuk-body-m nhsuk-u-display-inline-block"
135135
data-testid="back-link-bottom"
136-
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34"
136+
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=5"
137137
>
138138
Go back
139139
</a>

frontend/src/__tests__/app/message-plans/choose-email-template/preview-template/page.test.tsx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,38 @@ const getTemplateMock = jest.mocked(getTemplate);
1313
const redirectMock = jest.mocked(redirect);
1414

1515
describe('PreviewEmailTemplateFromMessagePlan page', () => {
16+
it('should redirect to choose-templates when lockNumber is invalid', async () => {
17+
await PreviewEmailTemplateFromMessagePlan({
18+
params: Promise.resolve({
19+
routingConfigId: 'routing-config-id',
20+
templateId: 'template-id',
21+
}),
22+
searchParams: Promise.resolve({
23+
lockNumber: 'invalid',
24+
}),
25+
});
26+
27+
expect(redirectMock).toHaveBeenCalledWith(
28+
'/message-plans/choose-templates/routing-config-id',
29+
'replace'
30+
);
31+
});
32+
33+
it('should redirect to choose-templates when lockNumber is missing', async () => {
34+
await PreviewEmailTemplateFromMessagePlan({
35+
params: Promise.resolve({
36+
routingConfigId: 'routing-config-id',
37+
templateId: 'template-id',
38+
}),
39+
searchParams: Promise.resolve({}),
40+
});
41+
42+
expect(redirectMock).toHaveBeenCalledWith(
43+
'/message-plans/choose-templates/routing-config-id',
44+
'replace'
45+
);
46+
});
47+
1648
it('should redirect to invalid page with invalid template id', async () => {
1749
getTemplateMock.mockResolvedValueOnce(undefined);
1850

@@ -21,6 +53,9 @@ describe('PreviewEmailTemplateFromMessagePlan page', () => {
2153
routingConfigId: 'routing-config-id',
2254
templateId: 'invalid-template-id',
2355
}),
56+
searchParams: Promise.resolve({
57+
lockNumber: '0',
58+
}),
2459
});
2560

2661
expect(getTemplateMock).toHaveBeenCalledWith('invalid-template-id');
@@ -39,6 +74,9 @@ describe('PreviewEmailTemplateFromMessagePlan page', () => {
3974
routingConfigId: ROUTING_CONFIG.id,
4075
templateId: EMAIL_TEMPLATE.id,
4176
}),
77+
searchParams: Promise.resolve({
78+
lockNumber: '5',
79+
}),
4280
});
4381

4482
const container = render(page);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ exports[`ChooseLargePrintLetterTemplate page renders large print letter template
202202
aria-label="Preview"
203203
class="nhsuk-u-margin-bottom-2 nhsuk-link"
204204
data-testid="large-print-letter-template-id-preview-link"
205-
href="/message-plans/choose-large-print-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/large-print-letter-template-id"
205+
href="/message-plans/choose-large-print-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/large-print-letter-template-id?lockNumber=42"
206206
id="preview-template-link-0"
207207
>
208208
Preview

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ exports[`PreviewLargePrintLetterTemplateFromMessagePlan page renders large print
55
<a
66
class="nhsuk-back-link"
77
data-testid="back-link-top"
8-
href="/message-plans/choose-large-print-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34"
8+
href="/message-plans/choose-large-print-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=5"
99
>
1010
Go back
1111
</a>
@@ -111,7 +111,7 @@ exports[`PreviewLargePrintLetterTemplateFromMessagePlan page renders large print
111111
<a
112112
class="nhsuk-body-m nhsuk-u-display-inline-block"
113113
data-testid="back-link-bottom"
114-
href="/message-plans/choose-large-print-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34"
114+
href="/message-plans/choose-large-print-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=5"
115115
>
116116
Go back
117117
</a>

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

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,38 @@ const getTemplateMock = jest.mocked(getTemplate);
1616
const redirectMock = jest.mocked(redirect);
1717

1818
describe('PreviewLargePrintLetterTemplateFromMessagePlan page', () => {
19+
it('should redirect to choose-templates when lockNumber is invalid', async () => {
20+
await PreviewLargePrintLetterTemplateFromMessagePlan({
21+
params: Promise.resolve({
22+
routingConfigId: 'routing-config-id',
23+
templateId: 'template-id',
24+
}),
25+
searchParams: Promise.resolve({
26+
lockNumber: 'invalid',
27+
}),
28+
});
29+
30+
expect(redirectMock).toHaveBeenCalledWith(
31+
'/message-plans/choose-templates/routing-config-id',
32+
'replace'
33+
);
34+
});
35+
36+
it('should redirect to choose-templates when lockNumber is missing', async () => {
37+
await PreviewLargePrintLetterTemplateFromMessagePlan({
38+
params: Promise.resolve({
39+
routingConfigId: 'routing-config-id',
40+
templateId: 'template-id',
41+
}),
42+
searchParams: Promise.resolve({}),
43+
});
44+
45+
expect(redirectMock).toHaveBeenCalledWith(
46+
'/message-plans/choose-templates/routing-config-id',
47+
'replace'
48+
);
49+
});
50+
1951
it('should redirect to invalid page for invalid template id', async () => {
2052
getTemplateMock.mockResolvedValueOnce(undefined);
2153

@@ -24,6 +56,9 @@ describe('PreviewLargePrintLetterTemplateFromMessagePlan page', () => {
2456
routingConfigId: 'routing-config-id',
2557
templateId: 'invalid-template-id',
2658
}),
59+
searchParams: Promise.resolve({
60+
lockNumber: '0',
61+
}),
2762
});
2863

2964
expect(getTemplateMock).toHaveBeenCalledWith('invalid-template-id');
@@ -42,6 +77,9 @@ describe('PreviewLargePrintLetterTemplateFromMessagePlan page', () => {
4277
routingConfigId: ROUTING_CONFIG.id,
4378
templateId: LARGE_PRINT_LETTER_TEMPLATE.id,
4479
}),
80+
searchParams: Promise.resolve({
81+
lockNumber: '5',
82+
}),
4583
});
4684

4785
const container = render(page);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ exports[`ChooseNHSAppTemplate page renders NHS App template selection 1`] = `
222222
aria-label="Preview"
223223
class="nhsuk-u-margin-bottom-2 nhsuk-link"
224224
data-testid="app-template-id-preview-link"
225-
href="/message-plans/choose-nhs-app-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/app-template-id"
225+
href="/message-plans/choose-nhs-app-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/app-template-id?lockNumber=42"
226226
id="preview-template-link-0"
227227
>
228228
Preview

frontend/src/__tests__/app/message-plans/choose-nhs-app-template/preview-template/__snapshots__/page.test.tsx.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ exports[`PreviewNhsAppTemplateFromMessagePlan page renders NHS App template prev
55
<a
66
class="nhsuk-back-link"
77
data-testid="back-link-top"
8-
href="/message-plans/choose-nhs-app-template/fbb81055-79b9-4759-ac07-d191ae57be34"
8+
href="/message-plans/choose-nhs-app-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=5"
99
>
1010
Go back
1111
</a>
@@ -108,7 +108,7 @@ exports[`PreviewNhsAppTemplateFromMessagePlan page renders NHS App template prev
108108
<a
109109
class="nhsuk-body-m nhsuk-u-display-inline-block"
110110
data-testid="back-link-bottom"
111-
href="/message-plans/choose-nhs-app-template/fbb81055-79b9-4759-ac07-d191ae57be34"
111+
href="/message-plans/choose-nhs-app-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=5"
112112
>
113113
Go back
114114
</a>

frontend/src/__tests__/app/message-plans/choose-nhs-app-template/preview-template/page.test.tsx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,38 @@ const getTemplateMock = jest.mocked(getTemplate);
1313
const redirectMock = jest.mocked(redirect);
1414

1515
describe('PreviewNhsAppTemplateFromMessagePlan page', () => {
16+
it('should redirect to choose-templates when lockNumber is invalid', async () => {
17+
await PreviewNhsAppTemplateFromMessagePlan({
18+
params: Promise.resolve({
19+
routingConfigId: 'routing-config-id',
20+
templateId: 'template-id',
21+
}),
22+
searchParams: Promise.resolve({
23+
lockNumber: 'invalid',
24+
}),
25+
});
26+
27+
expect(redirectMock).toHaveBeenCalledWith(
28+
'/message-plans/choose-templates/routing-config-id',
29+
'replace'
30+
);
31+
});
32+
33+
it('should redirect to choose-templates when lockNumber is missing', async () => {
34+
await PreviewNhsAppTemplateFromMessagePlan({
35+
params: Promise.resolve({
36+
routingConfigId: 'routing-config-id',
37+
templateId: 'template-id',
38+
}),
39+
searchParams: Promise.resolve({}),
40+
});
41+
42+
expect(redirectMock).toHaveBeenCalledWith(
43+
'/message-plans/choose-templates/routing-config-id',
44+
'replace'
45+
);
46+
});
47+
1648
it('should redirect to invalid page with invalid template id', async () => {
1749
getTemplateMock.mockResolvedValueOnce(undefined);
1850

@@ -21,6 +53,9 @@ describe('PreviewNhsAppTemplateFromMessagePlan page', () => {
2153
routingConfigId: 'routing-config-id',
2254
templateId: 'invalid-template-id',
2355
}),
56+
searchParams: Promise.resolve({
57+
lockNumber: '0',
58+
}),
2459
});
2560

2661
expect(getTemplateMock).toHaveBeenCalledWith('invalid-template-id');
@@ -39,6 +74,9 @@ describe('PreviewNhsAppTemplateFromMessagePlan page', () => {
3974
routingConfigId: ROUTING_CONFIG.id,
4075
templateId: NHS_APP_TEMPLATE.id,
4176
}),
77+
searchParams: Promise.resolve({
78+
lockNumber: '5',
79+
}),
4280
});
4381

4482
const container = render(page);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ exports[`ChooseOtherLanguageLetterTemplate page renders foreign language letter
208208
aria-label="Preview French letter template"
209209
class="nhsuk-u-margin-bottom-2 nhsuk-link"
210210
data-testid="french-letter-id-preview-link"
211-
href="/message-plans/choose-other-language-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/french-letter-id"
211+
href="/message-plans/choose-other-language-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/french-letter-id?lockNumber=42"
212212
id="preview-template-link-0"
213213
>
214214
Preview
@@ -306,7 +306,7 @@ exports[`ChooseOtherLanguageLetterTemplate page renders foreign language letter
306306
aria-label="Preview Polish letter template"
307307
class="nhsuk-u-margin-bottom-2 nhsuk-link"
308308
data-testid="polish-letter-id-preview-link"
309-
href="/message-plans/choose-other-language-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/polish-letter-id"
309+
href="/message-plans/choose-other-language-letter-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/polish-letter-id?lockNumber=42"
310310
id="preview-template-link-1"
311311
>
312312
Preview

0 commit comments

Comments
 (0)