ai-assisted-todolist

Browser end-to-end#

Playwright against the full containerised stack, so it covers what nothing else does: real redirects, real httpd proxying, real cookies, real persistence.

# build both images, then:
docker compose -f deployment/docker/docker-compose.e2e.yml up -d --wait
cd e2e && npx playwright test

Full setup is in local-development.md. Useful flags while debugging: --headed, --debug, and npx playwright show-report after a failure.

The suite is serial (workers: 1) because all tests share one database, and each account gets its own browser.newContext() because Keycloak's SSO session outlives the app's sign-out.

Two things in here exist because of failures that only a real stack produces: