Wiki/e2e/SMOKE-REPORT.md
Corentin JOGUET d245f31ab6 test(e2e): add acadenice full smoke suite — R4.7
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.
2026-05-08 12:20:14 +02:00

4 KiB
Raw Blame History

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:  - waiting for getByRole('link', { name: /graph|graphe/i }).or(getByRole('button', { name: /graph|graphe/i })).first() 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
  • 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
  • Wikilink + backlink — Wikilink/backlink flow broken — Page A not available
    • screenshot: screenshots/4-wikilink-backlink-fail.png
  • Slash /database — /database broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load"
    • screenshot: screenshots/5-slash-database-fail.png
  • Slash /template — /template broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load"
    • screenshot: screenshots/6-slash-template-fail.png
  • Slash /sync-block — /sync-block broken — page.waitForURL: Timeout 5000ms exceeded. — waiting for navigation until "load"
    • screenshot: screenshots/7-slash-sync-block-fail.png
  • Graph view (space-scoped) — Space graph broken — locator.click: Timeout 5000ms exceeded. Call log:  - waiting for getByRole('link', { name: /graph|graphe/i }).or(getByRole('button', { name: /graph|graphe/i })).first()
    • screenshot: screenshots/9-graph-space-fail.png

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