import { test, expect } from "@playwright/test"; import { discoverAppRoutes, findUndeclaredRoutes } from "../support/route-scan"; import { DECLARED_ROUTE_TEMPLATES } from "./routes.manifest"; /** * Driftschutz (Definition of Done #1): verhindert ungetestete neue Routen. * * STATISCHER Check — braucht weder Server noch DB; lauffähig offline. Die * identische Logik ist zusätzlich als Vitest-Unit-Test * (tests/unit/routes-manifest.test.ts) abgesichert. * * Negativ-Probe: Eine neue Route src/app/(app)/leak/page.tsx ohne * Manifest-Eintrag macht diesen Test rot; Entfernen -> grün. */ test("jede Route unter src/app ist im Manifest oder öffentlich", () => { const discovered = discoverAppRoutes(); const undeclared = findUndeclaredRoutes(discovered, DECLARED_ROUTE_TEMPLATES); expect( undeclared, `Ungetestete Routen (im Manifest ergänzen oder als öffentlich markieren):\n${undeclared.join( "\n", )}`, ).toEqual([]); });