From 1c9089f63134da33831cec4b703d9e40b952f769 Mon Sep 17 00:00:00 2001 From: Kanstantsin Autushka Date: Fri, 31 Jan 2025 15:04:24 +0300 Subject: [PATCH] test(Table/DownloadManager): fix event listener --- packages/ui/tests/.gitignore | 1 + .../pages/table.download-manager.base.spec.ts | 25 ++++++++++++------- packages/ui/tests/package.json | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/ui/tests/.gitignore b/packages/ui/tests/.gitignore index 240b1b084..69f7ceb97 100644 --- a/packages/ui/tests/.gitignore +++ b/packages/ui/tests/.gitignore @@ -3,3 +3,4 @@ node_modules/ /playwright-report/ /playwright/.cache/ .env +/downloads/ diff --git a/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts b/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts index e3610c994..d6dc39518 100644 --- a/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts +++ b/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts @@ -17,18 +17,25 @@ test('Download manager: downloaded file should be equal to ideal', async ({page} await downloadButton.waitFor(); await downloadButton.click(); - const downloadButtonModal = page.locator('[data-qa="download-static-table"]'); + const downloadButtonModal = page.getByTestId('download-static-table'); await downloadButtonModal.waitFor(); + + const downloadPromise = page.waitForEvent('download'); await downloadButtonModal.click(); - page.on('download', async (download) => { - const destination = './downloads/' + download.suggestedFilename(); - await download.saveAs(destination); - - const fileHash = getFileHash(destination); - const idealFileHash = getFileHash('./data/static-table/static-table'); - expect(fileHash).toEqual(idealFileHash); - }); + const download = await downloadPromise; + + const toastTitle = page.locator('.g-toast__title'); + await toastTitle.waitFor(); + const text = await toastTitle.innerText(); + expect(text).toBe('Success'); + + const destination = './downloads/' + download.suggestedFilename(); + await download.saveAs(destination); + + const fileHash = getFileHash(destination); + const idealFileHash = getFileHash('./data/static-table/static-table'); + expect(fileHash).toEqual(idealFileHash); }); function getFileHash(filePath: string) { diff --git a/packages/ui/tests/package.json b/packages/ui/tests/package.json index 2e0343a14..b2ad1ff52 100644 --- a/packages/ui/tests/package.json +++ b/packages/ui/tests/package.json @@ -12,6 +12,6 @@ "license": "ISC", "private": true, "devDependencies": { - "@playwright/test": "^1.44.1" + "@playwright/test": "^1.50.1" } }