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.
4 KiB
4 KiB
AcadeDoc smoke report — 2026-05-08
Stack: client :5173 — server :3001 — bridge :4000 Result: 2 OK / 7 KO / 0 PARTIAL — total 9
Feature matrix
| Feature | Status | Details | Screenshot |
|---|---|---|---|
| Login | OK | Redirected to http://localhost:5173/home | - |
| Create page | KO | page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load" | screenshots/2-create-page-fail.png |
| Sub-page (parent-child link) | KO | Sub-page may exist in DB but not nested under parent in sidebar — Parent page not created — skipping | screenshots/3-create-sub-page-fail.png |
| Wikilink + backlink | KO | Wikilink/backlink flow broken — Page A not available | screenshots/4-wikilink-backlink-fail.png |
| Slash /database | KO | /database broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load" | screenshots/5-slash-database-fail.png |
| Slash /template | KO | /template broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load" | screenshots/6-slash-template-fail.png |
| Slash /sync-block | KO | /sync-block broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load" | screenshots/7-slash-sync-block-fail.png |
| Graph view (workspace) | OK | Graph canvas rendered with nodes | - |
| Graph view (space-scoped) | KO | Space graph broken — locator.click: Timeout 5000ms exceeded. Call log: [2m - waiting for getByRole('link', { name: /graph|graphe/i }).or(getByRole('button', { name: /graph|graphe/i })).first()[22m | screenshots/9-graph-space-fail.png |
Bugs confirmed
- Create page — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load"
- screenshot:
screenshots/2-create-page-fail.png
- screenshot:
- Sub-page (parent-child link) — Sub-page may exist in DB but not nested under parent in sidebar — Parent page not created — skipping
- screenshot:
screenshots/3-create-sub-page-fail.png
- screenshot:
- Wikilink + backlink — Wikilink/backlink flow broken — Page A not available
- screenshot:
screenshots/4-wikilink-backlink-fail.png
- screenshot:
- Slash /database — /database broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load"
- screenshot:
screenshots/5-slash-database-fail.png
- screenshot:
- Slash /template — /template broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load"
- screenshot:
screenshots/6-slash-template-fail.png
- screenshot:
- Slash /sync-block — /sync-block broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load"
- screenshot:
screenshots/7-slash-sync-block-fail.png
- screenshot:
- Graph view (space-scoped) — Space graph broken — locator.click: Timeout 5000ms exceeded. Call log: [2m - waiting for getByRole('link', { name: /graph|graphe/i }).or(getByRole('button', { name: /graph|graphe/i })).first()[22m
- screenshot:
screenshots/9-graph-space-fail.png
- screenshot:
Network errors (HTTP >= 400)
POST http://localhost:5173/api/users/me→ 401 (during step: 1-login)GET http://localhost:5173/api/acadenice/templates→ 403 (during step: 5-slash-database)
Console errors
Warning: React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://reactjs.org/link/rules-of-hooks Previous render Next render(step: 2-create-page)The above error occurred in the <SpaceSidebar> component: at SpaceSidebar (http://localhost:5173/src/features/space/components/sidebar/space-sidebar.tsx?t=1778235101685:32:16) at nav at http://localhost:5173/node_modules/.vite/deps/esm-D(step: 2-create-page)
Page errors (uncaught exceptions)
Error: Rendered more hooks than during the previous render.(step: 2-create-page)
How to reproduce
cd formation-hub/e2e
pnpm exec playwright test --config=playwright.smoke.config.ts
pnpm exec tsx scripts/generate-smoke-report.ts