@@ -23,11 +23,7 @@ test.describe('Doc Export', () => {
23
23
browserName,
24
24
} ) => {
25
25
await createDoc ( page , 'doc-editor' , browserName , 1 ) ;
26
- await page
27
- . getByRole ( 'button' , {
28
- name : 'download' ,
29
- } )
30
- . click ( ) ;
26
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
31
27
32
28
await expect (
33
29
page
@@ -45,7 +41,7 @@ test.describe('Doc Export', () => {
45
41
await expect (
46
42
page . getByRole ( 'button' , { name : 'Close the modal' } ) ,
47
43
) . toBeVisible ( ) ;
48
- await expect ( page . getByRole ( ' button', { name : 'Download' } ) ) . toBeVisible ( ) ;
44
+ await expect ( page . getByTestId ( 'doc-export-download- button') ) . toBeVisible ( ) ;
49
45
} ) ;
50
46
51
47
test ( 'it exports the doc with pdf line break' , async ( {
@@ -76,23 +72,13 @@ test.describe('Doc Export', () => {
76
72
77
73
await editor . locator ( '.bn-block-outer' ) . last ( ) . fill ( 'World' ) ;
78
74
79
- await page
80
- . getByRole ( 'button' , {
81
- name : 'download' ,
82
- exact : true ,
83
- } )
84
- . click ( ) ;
75
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
85
76
86
77
const downloadPromise = page . waitForEvent ( 'download' , ( download ) => {
87
78
return download . suggestedFilename ( ) . includes ( `${ randomDoc } .pdf` ) ;
88
79
} ) ;
89
80
90
- void page
91
- . getByRole ( 'button' , {
92
- name : 'Download' ,
93
- exact : true ,
94
- } )
95
- . click ( ) ;
81
+ void page . getByTestId ( 'doc-export-download-button' ) . click ( ) ;
96
82
97
83
const download = await downloadPromise ;
98
84
expect ( download . suggestedFilename ( ) ) . toBe ( `${ randomDoc } .pdf` ) ;
@@ -126,33 +112,18 @@ test.describe('Doc Export', () => {
126
112
127
113
await expect ( image ) . toBeVisible ( ) ;
128
114
129
- await page
130
- . getByRole ( 'button' , {
131
- name : 'download' ,
132
- exact : true ,
133
- } )
134
- . click ( ) ;
115
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
135
116
136
117
await page . getByRole ( 'combobox' , { name : 'Format' } ) . click ( ) ;
137
118
await page . getByRole ( 'option' , { name : 'Docx' } ) . click ( ) ;
138
119
139
- await expect (
140
- page . getByRole ( 'button' , {
141
- name : 'Download' ,
142
- exact : true ,
143
- } ) ,
144
- ) . toBeVisible ( ) ;
120
+ await expect ( page . getByTestId ( 'doc-export-download-button' ) ) . toBeVisible ( ) ;
145
121
146
122
const downloadPromise = page . waitForEvent ( 'download' , ( download ) => {
147
123
return download . suggestedFilename ( ) . includes ( `${ randomDoc } .docx` ) ;
148
124
} ) ;
149
125
150
- void page
151
- . getByRole ( 'button' , {
152
- name : 'Download' ,
153
- exact : true ,
154
- } )
155
- . click ( ) ;
126
+ void page . getByTestId ( 'doc-export-download-button' ) . click ( ) ;
156
127
157
128
const download = await downloadPromise ;
158
129
expect ( download . suggestedFilename ( ) ) . toBe ( `${ randomDoc } .docx` ) ;
@@ -194,11 +165,7 @@ test.describe('Doc Export', () => {
194
165
. fill ( 'https://docs.numerique.gouv.fr/assets/logo-gouv.png' ) ;
195
166
await page . getByText ( 'Embed image' ) . click ( ) ;
196
167
197
- await page
198
- . getByRole ( 'button' , {
199
- name : 'download' ,
200
- } )
201
- . click ( ) ;
168
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
202
169
203
170
await page
204
171
. getByRole ( 'combobox' , {
@@ -216,11 +183,7 @@ test.describe('Doc Export', () => {
216
183
217
184
await new Promise ( ( resolve ) => setTimeout ( resolve , 1000 ) ) ;
218
185
219
- await expect (
220
- page . getByRole ( 'button' , {
221
- name : 'Download' ,
222
- } ) ,
223
- ) . toBeVisible ( ) ;
186
+ await expect ( page . getByTestId ( 'doc-export-download-button' ) ) . toBeVisible ( ) ;
224
187
225
188
const responseCorsPromise = page . waitForResponse (
226
189
( response ) =>
@@ -231,11 +194,7 @@ test.describe('Doc Export', () => {
231
194
return download . suggestedFilename ( ) . includes ( `${ randomDoc } .pdf` ) ;
232
195
} ) ;
233
196
234
- void page
235
- . getByRole ( 'button' , {
236
- name : 'Download' ,
237
- } )
238
- . click ( ) ;
197
+ void page . getByTestId ( 'doc-export-download-button' ) . click ( ) ;
239
198
240
199
const responseCors = await responseCorsPromise ;
241
200
expect ( responseCors . ok ( ) ) . toBe ( true ) ;
@@ -271,27 +230,15 @@ test.describe('Doc Export', () => {
271
230
'italic' ,
272
231
) ;
273
232
274
- await page
275
- . getByRole ( 'button' , {
276
- name : 'download' ,
277
- } )
278
- . click ( ) ;
233
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
279
234
280
- await expect (
281
- page . getByRole ( 'button' , {
282
- name : 'Download' ,
283
- } ) ,
284
- ) . toBeVisible ( ) ;
235
+ await expect ( page . getByTestId ( 'doc-export-download-button' ) ) . toBeVisible ( ) ;
285
236
286
237
const downloadPromise = page . waitForEvent ( 'download' , ( download ) => {
287
238
return download . suggestedFilename ( ) . includes ( `${ randomDoc } .pdf` ) ;
288
239
} ) ;
289
240
290
- void page
291
- . getByRole ( 'button' , {
292
- name : 'Download' ,
293
- } )
294
- . click ( ) ;
241
+ void page . getByTestId ( 'doc-export-download-button' ) . click ( ) ;
295
242
296
243
const download = await downloadPromise ;
297
244
expect ( download . suggestedFilename ( ) ) . toBe ( `${ randomDoc } .pdf` ) ;
@@ -321,30 +268,15 @@ test.describe('Doc Export', () => {
321
268
editor . locator ( '.bn-block-content[data-content-type="divider"]' ) ,
322
269
) . toBeVisible ( ) ;
323
270
324
- await page
325
- . getByRole ( 'button' , {
326
- name : 'download' ,
327
- exact : true ,
328
- } )
329
- . click ( ) ;
271
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
330
272
331
- await expect (
332
- page . getByRole ( 'button' , {
333
- name : 'Download' ,
334
- exact : true ,
335
- } ) ,
336
- ) . toBeVisible ( ) ;
273
+ await expect ( page . getByTestId ( 'doc-export-download-button' ) ) . toBeVisible ( ) ;
337
274
338
275
const downloadPromise = page . waitForEvent ( 'download' , ( download ) => {
339
276
return download . suggestedFilename ( ) . includes ( `${ randomDoc } .pdf` ) ;
340
277
} ) ;
341
278
342
- void page
343
- . getByRole ( 'button' , {
344
- name : 'Download' ,
345
- exact : true ,
346
- } )
347
- . click ( ) ;
279
+ void page . getByTestId ( 'doc-export-download-button' ) . click ( ) ;
348
280
349
281
const download = await downloadPromise ;
350
282
expect ( download . suggestedFilename ( ) ) . toBe ( `${ randomDoc } .pdf` ) ;
@@ -384,30 +316,15 @@ test.describe('Doc Export', () => {
384
316
page . locator ( '.bn-block-column[data-node-type="column"]' ) . last ( ) ,
385
317
) . toHaveText ( 'Column 3' ) ;
386
318
387
- await page
388
- . getByRole ( 'button' , {
389
- name : 'download' ,
390
- exact : true ,
391
- } )
392
- . click ( ) ;
319
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
393
320
394
- await expect (
395
- page . getByRole ( 'button' , {
396
- name : 'Download' ,
397
- exact : true ,
398
- } ) ,
399
- ) . toBeVisible ( ) ;
321
+ await expect ( page . getByTestId ( 'doc-export-download-button' ) ) . toBeVisible ( ) ;
400
322
401
323
const downloadPromise = page . waitForEvent ( 'download' , ( download ) => {
402
324
return download . suggestedFilename ( ) . includes ( `${ randomDoc } .pdf` ) ;
403
325
} ) ;
404
326
405
- void page
406
- . getByRole ( 'button' , {
407
- name : 'Download' ,
408
- exact : true ,
409
- } )
410
- . click ( ) ;
327
+ void page . getByTestId ( 'doc-export-download-button' ) . click ( ) ;
411
328
412
329
const download = await downloadPromise ;
413
330
expect ( download . suggestedFilename ( ) ) . toBe ( `${ randomDoc } .pdf` ) ;
@@ -448,9 +365,8 @@ test.describe('Doc Export', () => {
448
365
waitUntil : 'domcontentloaded' ,
449
366
} ) ;
450
367
451
- const input = page . getByLabel ( 'doc title input' ) ;
452
- await expect ( input ) . toBeVisible ( ) ;
453
- await expect ( input ) . toHaveText ( '' ) ;
368
+ const input = page . locator ( '.--docs--doc-title-input[role="textbox"]' ) ;
369
+ await expect ( input ) . toBeVisible ( { timeout : 20000 } ) ;
454
370
await input . click ( ) ;
455
371
await input . fill ( randomDocFrench ) ;
456
372
await input . blur ( ) ;
@@ -459,23 +375,13 @@ test.describe('Doc Export', () => {
459
375
await editor . click ( ) ;
460
376
await editor . fill ( 'Contenu de test pour export en français' ) ;
461
377
462
- await page
463
- . getByRole ( 'button' , {
464
- name : 'download' ,
465
- exact : true ,
466
- } )
467
- . click ( ) ;
378
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
468
379
469
380
const downloadPromise = page . waitForEvent ( 'download' , ( download ) => {
470
381
return download . suggestedFilename ( ) . includes ( `${ randomDocFrench } .pdf` ) ;
471
382
} ) ;
472
383
473
- void page
474
- . getByRole ( 'button' , {
475
- name : 'Télécharger' ,
476
- exact : true ,
477
- } )
478
- . click ( ) ;
384
+ void page . getByTestId ( 'doc-export-download-button' ) . click ( ) ;
479
385
480
386
const download = await downloadPromise ;
481
387
expect ( download . suggestedFilename ( ) ) . toBe ( `${ randomDocFrench } .pdf` ) ;
@@ -527,23 +433,17 @@ test.describe('Doc Export', () => {
527
433
528
434
await expect ( interlink ) . toBeVisible ( ) ;
529
435
436
+ // Open export modal before triggering the download
437
+ await page . getByTestId ( 'doc-open-modal-download-button' ) . click ( ) ;
438
+ await expect (
439
+ page . getByTestId ( 'doc-open-modal-download-button' ) ,
440
+ ) . toBeVisible ( ) ;
441
+
530
442
const downloadPromise = page . waitForEvent ( 'download' , ( download ) => {
531
443
return download . suggestedFilename ( ) . includes ( `${ docChild } .pdf` ) ;
532
444
} ) ;
533
445
534
- await page
535
- . getByRole ( 'button' , {
536
- name : 'download' ,
537
- exact : true ,
538
- } )
539
- . click ( ) ;
540
-
541
- void page
542
- . getByRole ( 'button' , {
543
- name : 'Download' ,
544
- exact : true ,
545
- } )
546
- . click ( ) ;
446
+ await page . getByTestId ( 'doc-export-download-button' ) . click ( ) ;
547
447
548
448
const download = await downloadPromise ;
549
449
expect ( download . suggestedFilename ( ) ) . toBe ( `${ docChild } .pdf` ) ;
0 commit comments