26 lines
885 B
TypeScript
26 lines
885 B
TypeScript
import { test, expect } from "@playwright/test";
|
|
|
|
/**
|
|
* Visual regression tests — capture screenshots of key pages.
|
|
* Run with: npx playwright test visual-regression --update-snapshots (to create baselines)
|
|
* Subsequent runs compare against baselines and fail on pixel diff.
|
|
*/
|
|
|
|
const ROUTES: { path: string; name: string }[] = [{path:"/",name:"dashboard"},{path:"/focus",name:"focus"},{path:"/settings",name:"settings"}];
|
|
|
|
test.describe("Visual Regression", () => {
|
|
for (const route of ROUTES) {
|
|
test(\`\${route.name} matches snapshot\`, async ({ page }) => {
|
|
await page.goto(route.path);
|
|
await page.waitForLoadState("networkidle");
|
|
// Allow animations to settle
|
|
await page.waitForTimeout(500);
|
|
await expect(page).toHaveScreenshot(\`\${route.name}.png\`, {
|
|
fullPage: true,
|
|
maxDiffPixelRatio: 0.01,
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|