diff --git a/e2e/download.spec.ts b/e2e/download.spec.ts index c3cddd3..f0630ce 100644 --- a/e2e/download.spec.ts +++ b/e2e/download.spec.ts @@ -1,29 +1,53 @@ -import { test, expect } from '@playwright/test'; -import path, { dirname } from 'path'; -import { fileURLToPath } from 'url'; +import { test, expect } from "@playwright/test"; +import path, { dirname } from "path"; +import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); -test('download a file', async ({ page, browserName }) => { - // https://github.com/microsoft/playwright/issues/13037 - test.skip(browserName.toLowerCase() !== 'chromium', - `Test only for chromium!`); +test("download a file", async ({ page, browserName }) => { + // https://github.com/microsoft/playwright/issues/13037 + test.skip( + browserName.toLowerCase() !== "chromium", + `Test only for chromium!` + ); - await page.goto('/dashboard'); - await page.locator('div').getByTestId("upload").setInputFiles([ - path.join(__dirname, "assets", 'chatgpt.jpg'), - ]); - await page.context().grantPermissions(["clipboard-read", "clipboard-write"]); - await page.locator('.file-cell button').first().click(); - const handle = await page.evaluateHandle(() => navigator.clipboard.readText()); - const cid = await handle.jsonValue() + await page.goto("/dashboard"); + await page + .locator("div") + .getByTestId("upload") + .setInputFiles([path.join(__dirname, "assets", "chatgpt.jpg")]); + await page.context().grantPermissions(["clipboard-read", "clipboard-write"]); + await page.locator(".file-cell button").first().click(); + const handle = await page.evaluateHandle(() => + navigator.clipboard.readText() + ); + const cid = await handle.jsonValue(); - await page.locator('.download-input input').fill(cid); - // const page1Promise = page.waitForEvent('popup'); - const downloadPromise = page.waitForEvent('download'); - await page.locator('.download-input + button').click(); - // const page1 = await page1Promise; - const download = await downloadPromise; - expect(await download.failure()).toBeNull() -}); \ No newline at end of file + await page.locator(".download-input input").fill(cid); + // const page1Promise = page.waitForEvent('popup'); + const downloadPromise = page.waitForEvent("download"); + await page.locator(".download-input + button").click(); + // const page1 = await page1Promise; + const download = await downloadPromise; + expect(await download.failure()).toBeNull(); +}); + +test("download a file over the network", async ({ page, browserName }) => { + // https://github.com/microsoft/playwright/issues/13037 + test.skip( + browserName.toLowerCase() !== "chromium", + `Test only for chromium!` + ); + + await page.goto("/dashboard"); + + const cid = "zDvZRwzm6eV1thx6zkL5Es3FZKEq8qjinti9Y6QD1qZRKiAGjCZ7"; + await page.locator(".download-input input").fill(cid); + + const downloadPromise = page.waitForEvent("download"); + await page.locator(".download-input + button").click(); + + const download = await downloadPromise; + expect(await download.failure()).toBeNull(); +});