mirror of
https://github.com/logos-storage/logos-storage-marketplace-ui.git
synced 2026-01-07 07:53:10 +00:00
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
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!`
|
|
);
|
|
|
|
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();
|
|
});
|