Files
penpot/frontend/playwright/ui/specs/render-wasm.spec.js
Andrey Antukh 3136096123 🔧 Add general improvements to integration tests
This commit marks as skip (temporal) several flaky/randomly-failing
tests.

It also moves the integration test execution from circleci to github
actions.
2025-11-19 18:23:44 +01:00

61 lines
2.0 KiB
JavaScript

import { test, expect } from "@playwright/test";
import { WasmWorkspacePage, WASM_FLAGS } from "../pages/WasmWorkspacePage";
test.beforeEach(async ({ page }) => {
await WasmWorkspacePage.init(page);
});
test.skip("BUG 10867 - Crash when loading comments", async ({ page }) => {
const workspacePage = new WasmWorkspacePage(page);
await workspacePage.setupEmptyFile();
await workspacePage.goToWorkspace();
await workspacePage.showComments();
await expect(
workspacePage.rightSidebar.getByText("Show all comments"),
).toBeVisible();
});
test.skip("BUG 12164 - Crash when trying to fetch a missing font", async ({
page,
}) => {
// mock fetching a missing font
// FIXME: this is very hacky. I suspect something might be going on with
// beicon, fetch or http/send and the way we handle requests failures that
// make Plawyright stop execution of the JS thread immediately.
await page.addInitScript(() => {
// Override fetch specifically for the failing font route
const originalFetch = window.fetch;
window.fetch = (url, options) => {
if (url.includes("/internal/gfonts/font/crimsonpro")) {
console.log("Intercepting font request:", url);
// Return a rejected promise that we handle
return Promise.reject(new Error("Font not found (mocked)"));
}
return originalFetch.call(window, url, options);
};
});
const workspacePage = new WasmWorkspacePage(page);
await workspacePage.setupEmptyFile();
await workspacePage.mockGetFile("render-wasm/get-file-12164.json");
// FIXME: remove this once we fix the issue of downloading emoji fonts that are
// not needed.
await workspacePage.mockGoogleFont(
"noto",
"render-wasm/assets/notosansjpsubset.ttf",
);
await workspacePage.goToWorkspace({
id: "2b7f0188-51a1-8193-8006-e05bad874e2e",
pageId: "2b7f0188-51a1-8193-8006-e05bad87b74d",
});
await workspacePage.page.waitForTimeout(1000)
await workspacePage.waitForFirstRender();
await expect(
workspacePage.page.getByText("Internal Error"),
).not.toBeVisible();
});