Skip to content

Commit c1b9fd7

Browse files
committed
CCM-11889: merge
2 parents 1a41aa5 + 38f60a6 commit c1b9fd7

File tree

237 files changed

+20477
-2183
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

237 files changed

+20477
-2183
lines changed

frontend/public/lib/assets/icons/icon-arrow-down.svg

Lines changed: 1 addition & 1 deletion
Loading
Lines changed: 1 addition & 1 deletion
Loading
Lines changed: 1 addition & 1 deletion
Loading

frontend/src/__tests__/app/choose-a-template-type/__snapshots__/page.test.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ exports[`ChooseATemplateTypePage 1`] = `
44
<DocumentFragment>
55
<a
66
class="nhsuk-back-link"
7-
data-testid="back-to-templates-link"
7+
data-testid="back-link-top"
88
href="/message-templates"
99
>
1010
Back to all templates

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

Lines changed: 280 additions & 37 deletions
Large diffs are not rendered by default.

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ describe('ChooseTemplatesPage', () => {
183183
const appTemplateId = 'd3a2c6ba-438a-4bf4-b94a-7c64c6528e7f';
184184
const smsTemplateId = '5f7c3e1d-9b1a-4d3a-8f3e-2c6b8e9f1a2b';
185185
const letterTemplateId = '9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d';
186+
const frenchLetterTemplateId = '1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d';
187+
const spanishLetterTemplateId = '6d5c4b3a-2f1e-0d9c-8b7a-6f5e4d3c2b1a';
186188

187189
const planWithMultiple: RoutingConfig = {
188190
...routingConfig,
@@ -210,6 +212,16 @@ describe('ChooseTemplatesPage', () => {
210212
channel: 'LETTER',
211213
channelType: 'primary',
212214
defaultTemplateId: letterTemplateId,
215+
conditionalTemplates: [
216+
{
217+
language: 'fr',
218+
templateId: frenchLetterTemplateId,
219+
},
220+
{
221+
language: 'es',
222+
templateId: spanishLetterTemplateId,
223+
},
224+
],
213225
},
214226
],
215227
};
@@ -221,6 +233,16 @@ describe('ChooseTemplatesPage', () => {
221233
...LETTER_TEMPLATE,
222234
id: letterTemplateId,
223235
},
236+
[frenchLetterTemplateId]: {
237+
...LETTER_TEMPLATE,
238+
name: 'French Letter Template',
239+
id: frenchLetterTemplateId,
240+
},
241+
[spanishLetterTemplateId]: {
242+
...LETTER_TEMPLATE,
243+
name: 'Spanish Letter Template',
244+
id: spanishLetterTemplateId,
245+
},
224246
};
225247

226248
getMessagePlanMock.mockResolvedValueOnce(planWithMultiple);

frontend/src/__tests__/app/message-plans/campaign-id-required/__snapshots__/page.test.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ exports[`matches snapshot 1`] = `
3232
</div>
3333
<p>
3434
<a
35-
data-testid="back-link"
35+
data-testid="back-link-bottom"
3636
href="/message-plans"
3737
>
3838
Go back

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

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,20 @@ exports[`ChooseEmailTemplate page renders Email template selection 1`] = `
1313
<div
1414
class="nhsuk-grid-column-full"
1515
>
16-
<span
17-
class="nhsuk-caption-l"
16+
<div
17+
class="nhsuk-u-reading-width"
1818
>
19-
Autumn Campaign Plan
20-
</span>
21-
<h1
22-
class="nhsuk-heading-l"
23-
>
24-
Choose an email template
25-
</h1>
19+
<span
20+
class="nhsuk-caption-l"
21+
>
22+
Autumn Campaign Plan
23+
</span>
24+
<h1
25+
class="nhsuk-heading-xl"
26+
>
27+
Choose an email template
28+
</h1>
29+
</div>
2630
<form
2731
action="javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')"
2832
>
@@ -46,7 +50,7 @@ exports[`ChooseEmailTemplate page renders Email template selection 1`] = `
4650
/>
4751
<dl
4852
class="nhsuk-summary-list"
49-
data-testid="previous-selection-summary"
53+
data-testid="previous-selection-details"
5054
>
5155
<div
5256
class="nhsuk-summary-list__row"
@@ -70,7 +74,8 @@ exports[`ChooseEmailTemplate page renders Email template selection 1`] = `
7074
class="nhsuk-grid-column-full"
7175
>
7276
<div
73-
class="nhsuk-hint"
77+
class="nhsuk-hint nhsuk-u-reading-width"
78+
data-testid="table-hint"
7479
>
7580
Choose one option
7681
</div>
@@ -213,18 +218,15 @@ exports[`ChooseEmailTemplate page renders Email template selection 1`] = `
213218
>
214219
215220
</span>
216-
<div
217-
class="actionLinksWrapper"
221+
<a
222+
aria-label="Preview"
223+
class="nhsuk-u-margin-bottom-2 nhsuk-link"
224+
data-testid="email-template-id-preview-link"
225+
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/email-template-id?lockNumber=42"
226+
id="preview-template-link-0"
218227
>
219-
<a
220-
aria-label="Preview"
221-
data-testid="email-template-id-preview-link"
222-
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34/preview-template/email-template-id"
223-
id="preview-template-link-0"
224-
>
225-
Preview
226-
</a>
227-
</div>
228+
Preview
229+
</a>
228230
</td>
229231
</tr>
230232
</tbody>
@@ -247,7 +249,8 @@ exports[`ChooseEmailTemplate page renders Email template selection 1`] = `
247249
Save and continue
248250
</button>
249251
<a
250-
class="nhsuk-u-font-size-19 inline-block nhsuk-u-margin-left-3 nhsuk-u-padding-top-3"
252+
class="nhsuk-u-font-size-19 inline-block nhsuk-u-margin-left-4 nhsuk-u-padding-top-3"
253+
data-testid="back-link-bottom"
251254
href="/message-plans/choose-templates/fbb81055-79b9-4759-ac07-d191ae57be34"
252255
>
253256
Go back

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

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ exports[`PreviewEmailTemplateFromMessagePlan page renders Email template preview
44
<DocumentFragment>
55
<a
66
class="nhsuk-back-link"
7-
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34"
7+
data-testid="back-link-top"
8+
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=5"
89
>
910
Go back
1011
</a>
@@ -49,7 +50,8 @@ exports[`PreviewEmailTemplateFromMessagePlan page renders Email template preview
4950
Template ID
5051
</dt>
5152
<dd
52-
class="nhsuk-summary-list__value"
53+
class="nhsuk-summary-list__value monospace-font"
54+
data-testid="preview-template-id"
5355
>
5456
email-template-id
5557
</dd>
@@ -128,13 +130,13 @@ exports[`PreviewEmailTemplateFromMessagePlan page renders Email template preview
128130
</div>
129131
</dl>
130132
</div>
131-
<p>
132-
<a
133-
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34"
134-
>
135-
Go back
136-
</a>
137-
</p>
133+
<a
134+
class="nhsuk-link nhsuk-body-m nhsuk-u-display-inline-block"
135+
data-testid="back-link-bottom"
136+
href="/message-plans/choose-email-template/fbb81055-79b9-4759-ac07-d191ae57be34?lockNumber=5"
137+
>
138+
Go back
139+
</a>
138140
</div>
139141
</div>
140142
</main>

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);

0 commit comments

Comments
 (0)