Files
HealthLog/src
Marc-André BombeckandClaude Opus 4.7 d343ab5dc2 test(insights): coverage for confidence computation + meter rendering
End-to-end integration test that pins the wrapper-override contract
across the full stack:

  1. MockAIProvider returns a payload where the model claims
     confidence=99.
  2. generateInsight() parses + overwrites with the deterministic
     value (n=9, recencyDays=0, ratio=null → 65).
  3. InsightAdvisorCard renders the parsed payload through
     RecommendationCard → ConfidenceMeter.
  4. The rendered card shows the SERVER-computed band ("medium" /
     yellow), NOT the model-claimed 99 ("high" / green). The
     aria-label announces "Confidence: 65 of 100".

A second case pins the small-data shield: with n=1 the wrapper
hard-caps at <=15, the meter renders the draft pill (red), and the
"Draft" tag is visible in the markup — Apple's quiet-when-unsure
affordance flows through end-to-end.

Coverage now includes:
  - Unit: computeConfidence() — 12+3 fixtures (input matrix +
    monotonicity + integer invariants) (commit 1).
  - Wrapper: 6 cases pinning the override contract (commit 2).
  - Component: 17 cases on ConfidenceMeter band rendering, both
    variants, EN/DE aria-label, clamp behaviour (commit 3).
  - Card wiring: 8 cases on slot fill, low-confidence caption,
    feedback-slot left untouched (commit 4).
  - Integration: 2 cases on full-flow override + draft band
    (this commit).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 01:40:29 +02:00
..