1.3 KiB
1.3 KiB
Plan 05-02: Tests for Polish Features
Phase: 5 — Polish Requirements: POLI-01, POLI-02, POLI-03 (test coverage) Estimated tasks: 3
Goal
Add Vitest tests for streak calculation, summary stats, weekend styling, and week start configurability.
Tasks
Task 1: Streak calculation tests
File: assets/test/stats.test.ts (new)
Tests:
- Streak of 3 consecutive days ending today → returns 3
- Gap in the middle breaks streak → returns days after gap
- No entries today but entries yesterday → streak counts from yesterday
- No entries at all → returns 0
- Single day entry (today) → returns 1
Task 2: Summary stats tests
File: assets/test/stats.test.ts (same file)
Tests:
- Total hours sums correctly
- Average hours divides by days-with-entries (not total calendar days)
- Busiest day picks the max-hours entry
- Empty data returns zeroes and null busiest day
Task 3: Weekend and week start rendering tests
File: assets/test/heatmap.test.ts (extend existing)
Tests:
- Weekend cells (Sat/Sun) have
heatmap-weekendclass - Weekday cells do NOT have
heatmap-weekendclass - Stats row renders below heatmap with streak and stat values
Verification
npm testpasses all new and existing tests
Commit
test: add tests for streak, stats, weekend styling