Closes the debt left by PR #40 (api/info + footer): the existing
tests/e2e/health.spec.ts happy path still hit the dev-proxy issue
that PR #40 worked around for the new app-footer spec.
Same fix applied to HealthDashboard.vue and the spec:
- HealthDashboard.vue: useFetch( ..., { server: false }) — fetch
client-side only so Playwright route mocks apply (was failing on
SSR through the dev proxy).
- health.spec.ts: happy path now uses page.route to mock /api/healthz
with a 200 success body, matching the pattern in app-footer.spec.ts.
The error scenario already used route mocking; unchanged.
The integration with the real backend remains covered by the BDD
scenario in features/health/health.feature (server-side, no proxy
in the loop).
Full Playwright suite (4 tests) now passes locally.
User caught silent regression: existing test only asserted dashboard visibility, which is also true on the error branch. New tests assert healthy state + new regression test mocks /api/healthz to 502.
Co-authored-by: Gabriel Radureau <arcodange@gmail.com>
Co-committed-by: Gabriel Radureau <arcodange@gmail.com>
Storybook 8 + Playwright JSON reporter + auto-generated markdown docs with embedded screenshots and breadcrumbs. Frontend PRs now reviewable from Gitea web UI. ~95% Mistral autonomous via ICM workspace, trainer commit/PR (Mistral hit turn limit).
Co-authored-by: Gabriel Radureau <arcodange@gmail.com>
Co-committed-by: Gabriel Radureau <arcodange@gmail.com>