# E2E Playwright — formation-hub (R3.1.e) Cross-stack end-to-end tests for the bridge + DocAdenice + Baserow chain. ## Prerequisites - Docker + Docker Compose v2 - Node 22 + npm - The repo cloned locally at `/home/imugiii/Documents/jsap/formation-hub` ## Quick start (local) ```bash # 1. Boot the e2e stack (all services) docker compose -f docker-compose.e2e.yml --env-file .env.e2e up -d --wait # 2. Install Playwright and browsers (one-time) cd e2e npm install npx playwright install chromium # 3. Run all 7 scenarios npm run e2e # 4. Headed (interactive) run npm run e2e:headed # 5. Debug specific test npm run e2e:debug -- tests/database-view-insert.spec.ts # 6. Teardown cd .. docker compose -f docker-compose.e2e.yml down -v ``` ## Test scenarios | File | Scenario | |------|----------| | `tests/auth-login.spec.ts` | Login UI -> workspace home | | `tests/database-view-insert.spec.ts` | Slash /database -> insert table view -> rows visible | | `tests/database-view-edit-inline.spec.ts` | Double-click cell -> edit -> persist after reload | | `tests/database-view-realtime-sse.spec.ts` | Baserow API update -> SSE -> UI updates without reload | | `tests/database-view-rbac-denied.spec.ts` | User without rows:write -> double-click -> read-only only | | `tests/database-view-kanban-drag.spec.ts` | Drag kanban card -> column change -> persist after reload | | `tests/database-view-calendar-reschedule.spec.ts` | Drag calendar event -> new date -> persist after reload | ## Environment Copy `.env.e2e` from the repo root and adjust if needed. No real secrets are required for local dev — all defaults are non-sensitive placeholders. ## CI The workflow `.github/workflows/e2e.yml` runs automatically on push to main and on pull requests. It boots the full stack via Docker Compose, runs the Playwright suite in chromium, and uploads test-results + HTML report as artifacts.