Skip to content

Commit bb380c1

Browse files
committed
CCM-8588 CTA copy to request proof
1 parent 6b36ec6 commit bb380c1

File tree

4 files changed

+190
-2
lines changed

4 files changed

+190
-2
lines changed

frontend/src/__tests__/components/organisms/PreviewLetterTemplate.test.tsx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,30 @@ describe('PreviewLetterTemplate component', () => {
5454

5555
expect(container.asFragment()).toMatchSnapshot();
5656
});
57+
58+
it('matches snapshot when template status is PENDING_PROOF_REQUEST', () => {
59+
const container = render(
60+
<PreviewLetterTemplate
61+
template={{
62+
id: '53525D03-1BC1-4563-ABF9-A74FF04142AF',
63+
name: 'letter',
64+
templateType: 'LETTER',
65+
templateStatus: 'PENDING_PROOF_REQUEST',
66+
letterType: 'q4',
67+
language: 'ar',
68+
files: {
69+
pdfTemplate: {
70+
fileName: 'file.pdf',
71+
currentVersion: 'a',
72+
virusScanStatus: 'PASSED',
73+
},
74+
},
75+
createdAt: '2025-04-02T09:33:25.729Z',
76+
updatedAt: '2025-04-02T09:33:25.729Z',
77+
}}
78+
/>
79+
);
80+
81+
expect(container.asFragment()).toMatchSnapshot();
82+
});
5783
});

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

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,161 @@ exports[`PreviewLetterTemplate component matches snapshot 1`] = `
155155
</DocumentFragment>
156156
`;
157157

158+
exports[`PreviewLetterTemplate component matches snapshot when template status is PENDING_PROOF_REQUEST 1`] = `
159+
<DocumentFragment>
160+
<div
161+
class="nhsuk-back-link"
162+
>
163+
<a
164+
class="nhsuk-back-link__link"
165+
href="/templates/message-templates"
166+
id="back-link"
167+
>
168+
<svg
169+
aria-hidden="true"
170+
class="nhsuk-icon nhsuk-icon__chevron-left"
171+
height="24"
172+
viewBox="0 0 24 24"
173+
width="24"
174+
xmlns="http://www.w3.org/2000/svg"
175+
>
176+
<path
177+
d="M8.5 12c0-.3.1-.5.3-.7l5-5c.4-.4 1-.4 1.4 0s.4 1 0 1.4L10.9 12l4.3 4.3c.4.4.4 1 0 1.4s-1 .4-1.4 0l-5-5c-.2-.2-.3-.4-.3-.7z"
178+
/>
179+
</svg>
180+
Back to all templates
181+
</a>
182+
</div>
183+
<main
184+
class="nhsuk-main-wrapper"
185+
id="maincontent"
186+
role="main"
187+
>
188+
<div
189+
class="nhsuk-grid-row"
190+
>
191+
<div
192+
class="nhsuk-grid-column-full"
193+
>
194+
<h1
195+
class="preview__heading"
196+
data-testid="preview-message__heading"
197+
>
198+
letter
199+
</h1>
200+
<div
201+
class="nhsuk-width-container nhsuk-u-margin-bottom-6 nhsuk-body-m"
202+
>
203+
<dl
204+
class="nhsuk-summary-list nhsuk-u-margin-bottom-4 preview"
205+
>
206+
<div
207+
class="nhsuk-summary-list__row"
208+
>
209+
<dt
210+
class="nhsuk-summary-list__key"
211+
>
212+
Template ID
213+
</dt>
214+
<dd
215+
class="nhsuk-summary-list__value"
216+
>
217+
53525D03-1BC1-4563-ABF9-A74FF04142AF
218+
</dd>
219+
</div>
220+
<div
221+
class="nhsuk-summary-list__row"
222+
>
223+
<dt
224+
class="nhsuk-summary-list__key"
225+
>
226+
Type
227+
</dt>
228+
<dd
229+
class="nhsuk-summary-list__value"
230+
>
231+
Letter - Arabic
232+
</dd>
233+
</div>
234+
<div
235+
class="nhsuk-summary-list__row"
236+
>
237+
<dt
238+
class="nhsuk-summary-list__key"
239+
>
240+
Status
241+
</dt>
242+
<dd
243+
class="nhsuk-summary-list__value"
244+
>
245+
<strong
246+
class="nhsuk-tag"
247+
>
248+
Files uploaded
249+
</strong>
250+
</dd>
251+
</div>
252+
<div
253+
class="nhsuk-summary-list__row"
254+
>
255+
<dt
256+
class="nhsuk-summary-list__key"
257+
>
258+
Template file
259+
</dt>
260+
<dd
261+
class="nhsuk-summary-list__value"
262+
>
263+
<div
264+
class="container"
265+
>
266+
<svg
267+
class="icon"
268+
fill="none"
269+
height="26"
270+
viewBox="0 0 20 26"
271+
width="20"
272+
xmlns="http://www.w3.org/2000/svg"
273+
>
274+
<path
275+
d="M0 0V26H20V6.59375L19.7188 6.28125L13.7188 0.28125L13.4062 0H0ZM2 2H12V8H18V24H2V2ZM14 3.4375L16.5625 6H14V3.4375Z"
276+
fill="#4C6272"
277+
/>
278+
</svg>
279+
<p
280+
class="text"
281+
>
282+
file.pdf
283+
</p>
284+
</div>
285+
</dd>
286+
</div>
287+
</dl>
288+
</div>
289+
<a
290+
aria-disabled="false"
291+
class="nhsuk-button"
292+
data-testid="submit-button"
293+
draggable="false"
294+
href="/templates/submit-letter-template/53525D03-1BC1-4563-ABF9-A74FF04142AF"
295+
id="preview-letter-template-submit-button"
296+
role="button"
297+
>
298+
Request a proof
299+
</a>
300+
<p>
301+
<a
302+
href="/message-templates"
303+
>
304+
Back to all templates
305+
</a>
306+
</p>
307+
</div>
308+
</div>
309+
</main>
310+
</DocumentFragment>
311+
`;
312+
158313
exports[`PreviewLetterTemplate component matches snapshot when template status is VIRUS_SCAN_FAILED 1`] = `
159314
<DocumentFragment>
160315
<div

frontend/src/components/organisms/PreviewLetterTemplate/PreviewLetterTemplate.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ import { NHSNotifyButton } from '@atoms/NHSNotifyButton/NHSNotifyButton';
1212
export function PreviewLetterTemplate({
1313
template,
1414
}: Readonly<{ template: LetterTemplate }>) {
15-
const { backLinkText, buttonText } = content.components.previewLetterTemplate;
15+
const { backLinkText, submitText, requestProofText } =
16+
content.components.previewLetterTemplate;
17+
const buttonText =
18+
template.templateStatus === 'PENDING_PROOF_REQUEST'
19+
? requestProofText
20+
: submitText;
21+
1622
const basePath = getBasePath();
1723

1824
return (

frontend/src/content/content.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,8 @@ const previewEmailTemplate = {
239239

240240
const previewLetterTemplate = {
241241
backLinkText: backToAllTemplates,
242-
buttonText: 'Submit template',
242+
submitText: 'Submit template',
243+
requestProofText: 'Request a proof',
243244
};
244245

245246
const previewNHSAppTemplate = {

0 commit comments

Comments
 (0)