Adds an autonomous Playwright suite (acadenice-smoke-full.spec.ts) that drives the prod-like AcadeDoc stack via the UI to surface UI bugs without manual screenshot diagnostic. Each step is wrapped in test.step and records network/console/page errors plus per-step screenshots. A post-test script (scripts/generate-smoke-report.ts) aggregates telemetry into SMOKE-REPORT.md. The smoke runs against the real fork stack (client :5173, server :3001, bridge :4000) using Corentin's prod-like Acadenice credentials. It does NOT share state with the cross-stack e2e suite (no Baserow seeding, no docker-compose-e2e dependency) — its dedicated playwright.smoke.config.ts declares no setup project. Coverage: login, create page, sub-page nesting, wikilink + backlink, slash /database, slash /template, slash /sync-block, workspace graph, space graph. Initial run results (baseline): 2 OK / 7 KO / 0 PARTIAL — confirms SpaceSidebar renders-more-hooks crash when opening "Nouvelle page" submenu (blank-screen Error Boundary), GET /api/acadenice/templates → 403, and space-scoped graph entry point not reachable. Captured in SMOKE-REPORT.md for follow-up by R4.5/R4.6. |
||
|---|---|---|
| .. | ||
| fixtures | ||
| scripts | ||
| tests | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| playwright.smoke.config.ts | ||
| README.md | ||
| SMOKE-REPORT.md | ||
| tsconfig.json | ||
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)
# 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.