-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbubble.spec.js
26 lines (23 loc) · 1.14 KB
/
bubble.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { test, expect } from "./pw-fixtures.js";
test.describe("Bubble", () => {
test.beforeEach(async ({ page, extension }) => {
await page.goto(extension.bubbleUrl);
});
test("navigation via playwright page.goto()", async ({ page, context }) => {
await expect(page.getByRole("button", { name: "Navigate" })).toBeVisible();
page.goto("https://example.com/");
await expect(page).toHaveURL("https://example.com/");
// This suceeds because the response is mocked by Playwright
await expect(page.getByText("mocked!")).toBeVisible({ timeout: 2000 });
});
test("navigation via chrome.tabs.create()", async ({ page, context }) => {
await expect(page.getByRole("button", { name: "Navigate" })).toBeVisible();
const newPagePromise = context.waitForEvent("page");
await page.getByRole("button", { name: "Navigate" }).click();
const newPage = await newPagePromise;
expect(page.isClosed()).toBe(true);
await expect(newPage).toHaveURL("https://example.com/");
// This fails because the response isn't mocked by Playwright
await expect(newPage.getByText("mocked!")).toBeVisible({ timeout: 2000 });
});
});