Commit Graph

2 Commits

Author SHA1 Message Date
Hartmut 1d02afddfd ci(e2e): add Playwright smoke tests to deploy-test workflow
Completes Epic #37 remaining scope:
- playwright.ci.config.ts — targets localhost:3100 (already-running Docker
  app), testMatch restricted to smoke.spec.ts, HTML report on failure
- e2e/smoke.spec.ts — 5 tests: health endpoint, unauth redirect, signin
  page render, admin login redirect, app shell nav visible
- deploy-test.yml — seed admin user via docker exec, setup Node 20, install
  Playwright 1.49 + Chromium, run smoke tests, upload report artifact on failure

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-02 23:25:12 +02:00
Hartmut 41eb722369 feat: user invite flow, deactivate/delete, favicon, dashboard loading fix, admin full-width
- Invite flow: admin can invite users by email with role selection; accept-invite page
  sets password and creates the account; 72-hour token expiry; E2E tests
- User deactivate/reactivate/delete: new tRPC procedures + UI buttons; deactivation
  revokes all active sessions immediately; delete cascades vacation/broadcast records;
  isActive field added via migration 20260402000000_user_isactive
- Auth: block login for inactive users with audit entry
- Favicon: SVG favicon + ICO/PNG fallbacks (16, 32, 180, 192, 512px); manifest updated
- Dashboard: GridLayout dynamic-import loading skeleton prevents blank dark area
  on first login before react-grid-layout chunk is cached
- Admin users: remove max-w-5xl constraint so table uses full page width
- Dev: docker container restart workflow documented in LEARNINGS.md; Prisma generate
  must run inside the container after schema changes (named node_modules volume)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-02 20:19:26 +02:00