34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { test, expect } from "@playwright/test";
|
|
import { attachConsoleMonitor } from "@suaveplan/testing-e2e/console-monitor";
|
|
|
|
test.describe("Console Baseline", () => {
|
|
const routes = ["/", "/crypto", "/logger", "/datetime", "/i18n", "/feature-flags"];
|
|
|
|
for (const route of routes) {
|
|
test(`${route} has no console errors on load`, async ({ page }) => {
|
|
const monitor = attachConsoleMonitor(page, {
|
|
failOn: ["error"],
|
|
ignore: [
|
|
// Ignore known non-critical messages
|
|
/ResizeObserver loop/,
|
|
/WebSocket connection/,
|
|
/Failed to load resource.*favicon/,
|
|
],
|
|
});
|
|
|
|
await page.goto(route);
|
|
await expect(page.locator('[data-testid="page-title"]')).toBeVisible();
|
|
|
|
monitor.assertClean();
|
|
});
|
|
}
|
|
|
|
test("console-panel is present on every library page", async ({ page }) => {
|
|
const libraryRoutes = ["/crypto", "/logger", "/datetime", "/i18n", "/feature-flags"];
|
|
for (const route of libraryRoutes) {
|
|
await page.goto(route);
|
|
await expect(page.locator('[data-testid="console-panel"]')).toBeAttached();
|
|
}
|
|
});
|
|
});
|