Skip to content

Commit

Permalink
test(Table/DownloadManager): fix event listener
Browse files Browse the repository at this point in the history
  • Loading branch information
KostyaAvtushko committed Feb 4, 2025
1 parent 93722c7 commit 0256ca7
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
1 change: 1 addition & 0 deletions packages/ui/tests/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ node_modules/
/playwright-report/
/playwright/.cache/
.env
/downloads/
25 changes: 16 additions & 9 deletions packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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');

Check failure on line 23 in packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts

View workflow job for this annotation

GitHub Actions / E2E for 'Local'

[chromium] › pages/table.download-manager.base.spec.ts:9:5 › Download manager: downloaded file should be equal to ideal

1) [chromium] › pages/table.download-manager.base.spec.ts:9:5 › Download manager: downloaded file should be equal to ideal Error: page.waitForEvent: Test timeout of 10000ms exceeded. =========================== logs =========================== waiting for event "download" ============================================================ 21 | await downloadButtonModal.waitFor(); 22 | > 23 | const downloadPromise = page.waitForEvent('download'); | ^ 24 | await downloadButtonModal.click(); 25 | 26 | const download = await downloadPromise; at /actions-runner/_work/ytsaurus-ui/ytsaurus-ui/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts:23:34

Check failure on line 23 in packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts

View workflow job for this annotation

GitHub Actions / E2E for 'Local'

[chromium] › pages/table.download-manager.base.spec.ts:9:5 › Download manager: downloaded file should be equal to ideal

1) [chromium] › pages/table.download-manager.base.spec.ts:9:5 › Download manager: downloaded file should be equal to ideal Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.waitForEvent: Test timeout of 10000ms exceeded. =========================== logs =========================== waiting for event "download" ============================================================ 21 | await downloadButtonModal.waitFor(); 22 | > 23 | const downloadPromise = page.waitForEvent('download'); | ^ 24 | await downloadButtonModal.click(); 25 | 26 | const download = await downloadPromise; at /actions-runner/_work/ytsaurus-ui/ytsaurus-ui/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts:23:34

Check failure on line 23 in packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts

View workflow job for this annotation

GitHub Actions / E2E for 'Local'

[chromium] › pages/table.download-manager.base.spec.ts:9:5 › Download manager: downloaded file should be equal to ideal

1) [chromium] › pages/table.download-manager.base.spec.ts:9:5 › Download manager: downloaded file should be equal to ideal Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.waitForEvent: Test timeout of 10000ms exceeded. =========================== logs =========================== waiting for event "download" ============================================================ 21 | await downloadButtonModal.waitFor(); 22 | > 23 | const downloadPromise = page.waitForEvent('download'); | ^ 24 | await downloadButtonModal.click(); 25 | 26 | const download = await downloadPromise; at /actions-runner/_work/ytsaurus-ui/ytsaurus-ui/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts:23:34
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) {
Expand Down

0 comments on commit 0256ca7

Please sign in to comment.