Commit Graph
2 Commits
Author SHA1 Message Date
Marc-André Bombeck 03bf21e544 fix(e2e): assert dashboard insight card container, not literal AI text
The /insights mother page no longer fetches the `/api/insights/general-status`
endpoint — InsightAdvisorCard reads `/api/insights/generate` (a POST
that doubles as cache-aware read), gated by `/api/insights/comprehensive`
returning a non-null payload. The old test mocked a dead endpoint, hit
the EmptyState CTA path, and asserted on a literal AI prose substring
that the renderer never produces verbatim — twice brittle.

Swap the mocks to the real endpoints with a minimal-but-valid
`InsightResult` payload, then assert on the populated card's stable
structural hook `[data-slot="insight-summary"]`. The hook is set by
`InsightAdvisorCard` on the populated-body branch only, so the
assertion still proves "the card mounts its summary when the payload
arrives" — the actual contract under test — without coupling to AI
prose that varies per provider and cache state by design.
2026-05-14 19:39:47 +02:00
Marc-André BombeckandClaude Opus 4.7 3999ea7b3c test(e2e): authenticated dashboard render + add-measurement flow
Two new specs exercise the core happy path: the dashboard tile strip
+ Recharts surface render against a mocked /api/analytics, and the
quick-entry dropdown → MeasurementForm dialog → POST /api/measurements
round-trip surfaces a weight reading on /measurements.

Both rely on the global setup's pre-captured session cookie, so
neither hits the auth rate limit. The mocks fully isolate from the
DB so we don't need a 90-day measurement seed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 16:48:52 +02:00