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 3, 2025
1 parent 93722c7 commit e7e12ea
Show file tree
Hide file tree
Showing 2 changed files with 15 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/
23 changes: 14 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,23 @@ 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 toastTitle = page.locator('.g-toast__title:has-text("Success")'); 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 toastTitle = page.locator('.g-toast__title:has-text("Success")'); 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 toastTitle = page.locator('.g-toast__title:has-text("Success")'); 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 toastTitle = page.locator('.g-toast__title:has-text("Success")');
await toastTitle.waitFor();

Check failure on line 27 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: locator.waitFor: Test timeout of 10000ms exceeded. Call log: - waiting for locator('.g-toast__title:has-text("Success")') to be visible 25 | 26 | const toastTitle = page.locator('.g-toast__title:has-text("Success")'); > 27 | await toastTitle.waitFor(); | ^ 28 | 29 | const download = await downloadPromise; 30 | at /actions-runner/_work/ytsaurus-ui/ytsaurus-ui/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts:27:22

Check failure on line 27 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: locator.waitFor: Test timeout of 10000ms exceeded. Call log: - waiting for locator('.g-toast__title:has-text("Success")') to be visible 25 | 26 | const toastTitle = page.locator('.g-toast__title:has-text("Success")'); > 27 | await toastTitle.waitFor(); | ^ 28 | 29 | const download = await downloadPromise; 30 | at /actions-runner/_work/ytsaurus-ui/ytsaurus-ui/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts:27:22

Check failure on line 27 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: locator.waitFor: Test timeout of 10000ms exceeded. Call log: - waiting for locator('.g-toast__title:has-text("Success")') to be visible 25 | 26 | const toastTitle = page.locator('.g-toast__title:has-text("Success")'); > 27 | await toastTitle.waitFor(); | ^ 28 | 29 | const download = await downloadPromise; 30 | at /actions-runner/_work/ytsaurus-ui/ytsaurus-ui/packages/ui/tests/e2e/pages/table.download-manager.base.spec.ts:27:22

const download = await downloadPromise;

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 e7e12ea

Please sign in to comment.