11import { PreviewLetterTemplate } from '@organisms/PreviewLetterTemplate/PreviewLetterTemplate' ;
22import { render } from '@testing-library/react' ;
3+ import { isRightToLeft } from 'nhs-notify-web-template-management-utils/enum' ;
4+
5+ jest . mock ( 'nhs-notify-web-template-management-utils/enum' ) ;
6+
7+ const isRightToLeftMock = jest . mocked ( isRightToLeft ) ;
38
49describe ( 'PreviewLetterTemplate component' , ( ) => {
10+ beforeEach ( ( ) => {
11+ jest . resetAllMocks ( ) ;
12+ isRightToLeftMock . mockReturnValueOnce ( false ) ;
13+ } ) ;
14+
515 it ( 'matches snapshot when template status is VIRUS_SCAN_FAILED' , ( ) => {
616 const container = render (
717 < PreviewLetterTemplate
@@ -20,6 +30,7 @@ describe('PreviewLetterTemplate component', () => {
2030 } ,
2131 testDataCsv : undefined ,
2232 } ,
33+ proofingEnabled : true ,
2334 createdAt : '2025-04-02T09:33:25.729Z' ,
2435 updatedAt : '2025-04-02T09:33:25.729Z' ,
2536 } }
@@ -46,6 +57,7 @@ describe('PreviewLetterTemplate component', () => {
4657 virusScanStatus : 'PASSED' ,
4758 } ,
4859 } ,
60+ proofingEnabled : true ,
4961 createdAt : '2025-04-02T09:33:25.729Z' ,
5062 updatedAt : '2025-04-02T09:33:25.729Z' ,
5163 } }
@@ -72,6 +84,7 @@ describe('PreviewLetterTemplate component', () => {
7284 virusScanStatus : 'PASSED' ,
7385 } ,
7486 } ,
87+ proofingEnabled : true ,
7588 createdAt : '2025-04-02T09:33:25.729Z' ,
7689 updatedAt : '2025-04-02T09:33:25.729Z' ,
7790 } }
@@ -106,6 +119,7 @@ describe('PreviewLetterTemplate component', () => {
106119 } ,
107120 } ,
108121 } ,
122+ proofingEnabled : true ,
109123 createdAt : '2025-04-02T09:33:25.729Z' ,
110124 updatedAt : '2025-04-02T09:33:25.729Z' ,
111125 } }
@@ -140,6 +154,7 @@ describe('PreviewLetterTemplate component', () => {
140154 } ,
141155 } ,
142156 } ,
157+ proofingEnabled : true ,
143158 createdAt : '2025-04-02T09:33:25.729Z' ,
144159 updatedAt : '2025-04-02T09:33:25.729Z' ,
145160 } }
@@ -171,6 +186,7 @@ describe('PreviewLetterTemplate component', () => {
171186 virusScanStatus : 'PASSED' ,
172187 } ,
173188 } ,
189+ proofingEnabled : true ,
174190 createdAt : '2025-04-02T09:33:25.729Z' ,
175191 updatedAt : '2025-04-02T09:33:25.729Z' ,
176192 } }
@@ -197,6 +213,7 @@ describe('PreviewLetterTemplate component', () => {
197213 virusScanStatus : 'PENDING' ,
198214 } ,
199215 } ,
216+ proofingEnabled : true ,
200217 createdAt : '2025-04-02T09:33:25.729Z' ,
201218 updatedAt : '2025-04-02T09:33:25.729Z' ,
202219 } }
@@ -223,6 +240,81 @@ describe('PreviewLetterTemplate component', () => {
223240 virusScanStatus : 'PASSED' ,
224241 } ,
225242 } ,
243+ proofingEnabled : true ,
244+ createdAt : '2025-04-02T09:33:25.729Z' ,
245+ updatedAt : '2025-04-02T09:33:25.729Z' ,
246+ } }
247+ />
248+ ) ;
249+
250+ expect ( container . asFragment ( ) ) . toMatchSnapshot ( ) ;
251+ } ) ;
252+
253+ it ( 'matches snapshot when template proofingEnabled false' , ( ) => {
254+ const container = render (
255+ < PreviewLetterTemplate
256+ template = { {
257+ id : '0A097DCD-35F9-4DAD-A37E-AC358B71B74D' ,
258+ owner : 'owner' ,
259+ name : 'letter' ,
260+ templateType : 'LETTER' ,
261+ templateStatus : 'NOT_YET_SUBMITTED' ,
262+ letterType : 'x0' ,
263+ language : 'en' ,
264+ files : {
265+ pdfTemplate : {
266+ fileName : 'file.pdf' ,
267+ currentVersion : 'b' ,
268+ virusScanStatus : 'PASSED' ,
269+ } ,
270+ proofs : {
271+ 'your-proof.pdf' : {
272+ fileName : 'your-proof.pdf' ,
273+ virusScanStatus : 'PASSED' ,
274+ supplier : 'MBA' ,
275+ } ,
276+ } ,
277+ } ,
278+ proofingEnabled : false ,
279+ createdAt : '2025-04-02T09:33:25.729Z' ,
280+ updatedAt : '2025-04-02T09:33:25.729Z' ,
281+ } }
282+ />
283+ ) ;
284+
285+ expect ( container . asFragment ( ) ) . toMatchSnapshot ( ) ;
286+ } ) ;
287+
288+ it ( 'matches snapshot when template language is Right to Left' , ( ) => {
289+ isRightToLeftMock . mockReset ( ) ;
290+
291+ isRightToLeftMock . mockReturnValueOnce ( true ) ;
292+
293+ const container = render (
294+ < PreviewLetterTemplate
295+ template = { {
296+ id : '0A097DCD-35F9-4DAD-A37E-AC358B71B74D' ,
297+ owner : 'owner' ,
298+ name : 'letter' ,
299+ templateType : 'LETTER' ,
300+ templateStatus : 'NOT_YET_SUBMITTED' ,
301+ letterType : 'x0' ,
302+ language : 'ar' ,
303+ files : {
304+ pdfTemplate : {
305+ fileName : 'file.pdf' ,
306+ currentVersion : 'b' ,
307+ virusScanStatus : 'PASSED' ,
308+ } ,
309+ proofs : {
310+ 'your-proof.pdf' : {
311+ fileName : 'your-proof.pdf' ,
312+ virusScanStatus : 'PASSED' ,
313+ supplier : 'MBA' ,
314+ } ,
315+ } ,
316+ } ,
317+ proofingEnabled : false ,
226318 createdAt : '2025-04-02T09:33:25.729Z' ,
227319 updatedAt : '2025-04-02T09:33:25.729Z' ,
228320 } }
0 commit comments