import AxeBuilder from "@axe-core/playwright"; import { expect, test } from "@playwright/test"; test("health endpoints and the login screen are reachable and accessible", async ({ page, request }) => { const health = await request.get("/health/live"); expect(health.ok()).toBeTruthy(); const ready = await request.get("/health/ready"); expect(ready.ok()).toBeTruthy(); // global-setup.ts has already completed first-run setup for the shared stack, so an // unauthenticated visitor now reaches the login screen, not the setup form. await page.goto("/"); await expect(page.getByRole("heading", { name: "Aanmelden" })).toBeVisible(); const accessibility = await new AxeBuilder({ page }).analyze(); expect(accessibility.violations).toEqual([]); });