diff --git a/playwright.config.js b/playwright.config.js index cbc4739..c41df7d 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -1,24 +1,25 @@ -import { defineConfig } from '@playwright/test'; +/* eslint-env node */ +import { defineConfig } from "@playwright/test"; export default defineConfig({ - reporter: process.env.CI ? 'github' : 'list', + reporter: process.env.CI ? "github" : "list", webServer: [ { - command: 'yarn run start-prod', - url: 'http://127.0.0.1:9990', + command: "yarn run start-prod", + url: "http://127.0.0.1:9990", timeout: 120 * 1000, reuseExistingServer: !process.env.CI, }, { - command: 'yarn run test-start-embed', - url: 'http://127.0.0.1:8020', + command: "yarn run test-start-embed", + url: "http://127.0.0.1:8020", timeout: 120 * 1000, reuseExistingServer: !process.env.CI, }, { - command: 'yarn run test-start-sandbox', - url: 'http://127.0.0.1:8030', + command: "yarn run test-start-sandbox", + url: "http://127.0.0.1:8030", timeout: 120 * 1000, reuseExistingServer: !process.env.CI, - } - ] + }, + ], }); diff --git a/tests/embed/replay/sw.js b/tests/embed/replay/sw.js index 99c36a9..e49cc92 100644 --- a/tests/embed/replay/sw.js +++ b/tests/embed/replay/sw.js @@ -1 +1,2 @@ +/* eslint-env worker */ importScripts("http://localhost:9990/sw.js"); diff --git a/tests/embeds.spec.js b/tests/embeds.spec.js index efafeb5..c76b71b 100644 --- a/tests/embeds.spec.js +++ b/tests/embeds.spec.js @@ -1,42 +1,60 @@ -import { test, expect } from '@playwright/test'; -import { createServer } from "http-server"; - +import { test, expect } from "@playwright/test"; test("same-domain embed is loading", async ({ page }) => { await page.goto("http://localhost:9990/embed.html"); - const res = page.locator("replay-web-page").frameLocator("iframe").locator("replay-app-main wr-coll wr-coll-replay").frameLocator("iframe").frameLocator("iframe#twitter-widget-0").locator("body"); + const res = page + .locator("replay-web-page") + .frameLocator("iframe") + .locator("replay-app-main wr-item wr-coll-replay") + .frameLocator("iframe") + .frameLocator("iframe#twitter-widget-0") + .locator("body"); await expect(res).toContainText("Want to help"); }); - test("cross-domain embed is loading", async ({ page }) => { await page.goto("http://localhost:8020/"); - const res = page.locator("replay-web-page").frameLocator("iframe").locator("replay-app-main wr-coll wr-coll-replay").frameLocator("iframe").frameLocator("iframe#twitter-widget-0").locator("body"); + const res = page + .locator("replay-web-page") + .frameLocator("iframe") + .locator("replay-app-main wr-item wr-coll-replay") + .frameLocator("iframe") + .frameLocator("iframe#twitter-widget-0") + .locator("body"); await expect(res).toContainText("Want to help"); }); - test("sandbox + cross-domain embed is loading", async ({ page }) => { await page.goto("http://localhost:8030/"); const sandboxFrame = page.locator("iframe"); - await expect(await sandboxFrame.getAttribute("src")).toBe("http://localhost:8020/index-sandbox.html"); + await expect(await sandboxFrame.getAttribute("src")).toBe( + "http://localhost:8020/index-sandbox.html", + ); - const res = page.frameLocator("iframe").locator("replay-web-page").frameLocator("iframe").locator("replay-app-main wr-coll wr-coll-replay").frameLocator("iframe").frameLocator("iframe#twitter-widget-0").locator("body"); + const res = page + .frameLocator("iframe") + .locator("replay-web-page") + .frameLocator("iframe") + .locator("replay-app-main wr-item wr-coll-replay") + .frameLocator("iframe") + .frameLocator("iframe#twitter-widget-0") + .locator("body"); await expect(res).toContainText("Want to help"); }); - test("require subdomain iframe", async ({ page }) => { // load directly, should be blocked await page.goto("http://localhost:8020/index-sandbox.html"); const res = page.locator("replay-web-page"); - await expect(res).toContainText("Sorry, due to security settings, this ReplayWeb.page embed only be viewed within a subdomain iframe."); + await expect(res).toContainText( + "Sorry, due to security settings, this ReplayWeb.page embed only be viewed within a subdomain iframe.", + ); });