Files
cannamanage/cannamanage-frontend/playwright.config.ts
T
Patrick Plate cfb38e8fc6 test: authenticated admin E2E suite + accessibility + visual regression baselines
- Global setup: authenticates as admin, saves storageState for reuse
- playwright.config.ts: 3 projects (setup, authenticated, unauthenticated)
- authenticated-admin.spec.ts: 16 admin pages tested with real auth session
- accessibility.spec.ts: axe-core scans on all admin, public, and portal pages
- visual-regression.spec.ts: dark mode baselines for key pages (toHaveScreenshot)
- @axe-core/playwright added as devDependency
- .gitignore updated: excludes .auth/ and test-results/

Full suite: 262 tests passing (setup:1, authenticated:52, unauthenticated:209)
2026-06-13 22:30:29 +02:00

42 lines
999 B
TypeScript

import { defineConfig } from "@playwright/test"
import path from "path"
const authFile = path.join(__dirname, "e2e", ".auth", "admin.json")
export default defineConfig({
testDir: "./e2e",
fullyParallel: false,
retries: 0,
timeout: 90_000,
use: {
baseURL: "http://localhost:3000",
screenshot: "on",
trace: "on-first-retry",
navigationTimeout: 60_000,
actionTimeout: 30_000,
},
projects: [
{
name: "setup",
testMatch: /global-setup\.ts/,
},
{
name: "authenticated",
testMatch:
/authenticated-admin|visual-regression|accessibility/,
dependencies: ["setup"],
use: {
storageState: authFile,
browserName: "chromium",
},
},
{
name: "unauthenticated",
testMatch:
/functional-flows|full-check|user-story-tests|system-test|staff-management|screenshot-tour|authenticated-tour/,
use: { browserName: "chromium" },
},
],
outputDir: "./e2e/test-results",
})