@@ -174,4 +174,52 @@ test.describe('Explore page', () => {
174174 await expect ( dropdown . getByText ( 'graduated' ) ) . toBeVisible ( ) ;
175175 await expect ( dropdown . getByText ( 'This is the description of item 1' ) ) . toBeVisible ( ) ;
176176 } ) ;
177+
178+ test ( 'displays embeddable view setup modal' , async ( { page } ) => {
179+ await gotoExplore ( page ) ;
180+
181+ // Opens embeddable view setup modal
182+ const embedButton = page . getByRole ( 'button' , { name : 'Open "Embeddable view setup"' } ) ;
183+ await embedButton . click ( ) ;
184+
185+ // Expects embeddable view setup modal to be visible
186+ const embedModal = page . getByLabel ( 'Embeddable view setup modal' ) ;
187+ await expect ( embedModal ) . toBeVisible ( ) ;
188+ await expect ( embedModal . getByText ( 'Embeddable view setup' , { exact : true } ) ) . toBeVisible ( ) ;
189+ await expect ( embedModal . getByText ( 'Embed code' ) ) . toBeVisible ( ) ;
190+ await expect ( embedModal . getByLabel ( 'Classification options' ) ) . toBeVisible ( ) ;
191+ await expect ( embedModal . getByLabel ( 'Categories list' , { exact : true } ) ) . toBeVisible ( ) ;
192+ await expect ( embedModal . getByLabel ( 'Subcategories list' ) ) . toBeVisible ( ) ;
193+ await expect ( embedModal . getByLabel ( 'Copy code to clipboard' ) ) . toBeVisible ( ) ;
194+
195+ // Closes embeddable view setup modal
196+ const closeButton = embedModal . getByLabel ( 'Close modal' ) ;
197+ await closeButton . click ( ) ;
198+ await expect ( embedModal ) . not . toBeVisible ( ) ;
199+ } ) ;
200+
201+ test ( 'downloads landscape image' , async ( { page } ) => {
202+ await gotoExplore ( page ) ;
203+
204+ // Clicks on download image button
205+ const downloadButton = page . getByRole ( 'button' , { name : 'Open dropdown' } )
206+ await downloadButton . click ( ) ;
207+
208+ // Expects download to be open
209+ const dropdown = page . getByRole ( 'complementary' )
210+ await expect ( dropdown ) . toBeVisible ( ) ;
211+ await expect ( dropdown . getByRole ( 'button' , { name : 'Download landscape in PDF' } ) ) . toBeVisible ( ) ;
212+ await expect ( dropdown . getByRole ( 'button' , { name : 'Download landscape in PNG' } ) ) . toBeVisible ( ) ;
213+ await expect ( dropdown . getByRole ( 'button' , { name : 'Download items in CSV format' } ) ) . toBeVisible ( ) ;
214+ await expect ( dropdown . getByRole ( 'button' , { name : 'Download projects in CSV' } ) ) . toBeVisible ( ) ;
215+
216+ // Downloads landscape PNG
217+ const [ download ] = await Promise . all ( [
218+ page . waitForEvent ( 'download' ) ,
219+ dropdown . getByRole ( 'button' , { name : 'Download landscape in PNG' } ) . click ( ) ,
220+ ] ) ;
221+
222+ // Expects download to have correct filename
223+ expect ( download . suggestedFilename ( ) ) . toBe ( 'landscape.png' ) ;
224+ } ) ;
177225} ) ;
0 commit comments