test(e2e): add playwright e2e stand with test pocketbase and axe checks

- playwright.config.ts: test PocketBase (port 8190) and ng serve (port 4300)
  as webServers, SIGTERM shutdown so the stand removes its temp dir
- fixtures: user via open registration, api SDK client, signedInPage with pb_auth cookie
- expectNoA11yViolations runs all axe rules (WCAG and best-practice)
- render home route on the server; main and h1 placeholder in app shell
- config tests for playwright.config.ts in test:lint; docs updated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
kamask
2026-10-31 22:12:04 +03:00
co-authored by Claude Opus 5.5
parent bf72af9ef4
commit 82e097f876
15 changed files with 426 additions and 23 deletions
+11
View File
@@ -0,0 +1,11 @@
// Держит тестовый PocketBase на порту из argv[2], пока процесс не получит сигнал; запускается как webServer Playwright.
// Выполняется под чистым Node, как fixtures/hold-pocketbase.ts.
import { startPocketBase } from './pocketbase-server.ts';
const port = Number(process.argv[2]);
if (!Number.isInteger(port) || port <= 0) {
throw new Error(`Usage: node serve-test-pocketbase.ts <port>; got ${process.argv[2]}`);
}
const { url } = await startPocketBase({ port });
console.log(`Test PocketBase listening on ${url}`);
setInterval(() => undefined, 1 << 30);