docs(15-01): complete Wave 0 test stubs plan — DASH-01/02/03 RED baseline
This commit is contained in:
parent
7bea525c1b
commit
459892f31f
1 changed files with 69 additions and 0 deletions
69
.planning/phases/15-dashboard-tablos/15-01-SUMMARY.md
Normal file
69
.planning/phases/15-dashboard-tablos/15-01-SUMMARY.md
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
---
|
||||||
|
phase: 15-dashboard-tablos
|
||||||
|
plan: "01"
|
||||||
|
subsystem: backend/web/tests
|
||||||
|
tags: [tdd, wave-0, testing, dashboard]
|
||||||
|
dependency_graph:
|
||||||
|
requires: []
|
||||||
|
provides: [DASH-01-test, DASH-02-test, DASH-03-test]
|
||||||
|
affects: [backend/internal/web/handlers_tablos_test.go]
|
||||||
|
tech_stack:
|
||||||
|
added: []
|
||||||
|
patterns: [httptest, setupTestDB skip pattern, store.Create session pattern]
|
||||||
|
key_files:
|
||||||
|
created: []
|
||||||
|
modified:
|
||||||
|
- backend/internal/web/handlers_tablos_test.go
|
||||||
|
decisions:
|
||||||
|
- "setupTestDB skip pattern reused directly — no additional TEST_DATABASE_URL guard needed in test bodies since setupTestDB calls t.Skip internally"
|
||||||
|
- "store.Create used for session injection (not loginUser) to avoid CSRF round-trip complexity"
|
||||||
|
- "InsertTablo called directly via sqlc for tablo pre-insertion (no separate helper exists)"
|
||||||
|
metrics:
|
||||||
|
duration: ~5min
|
||||||
|
completed: "2026-05-16"
|
||||||
|
tasks_completed: 1
|
||||||
|
files_modified: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
# Phase 15 Plan 01: Wave 0 RED Test Stubs Summary
|
||||||
|
|
||||||
|
Three failing integration test stubs added to handlers_tablos_test.go for DASH-01 (sidebar), DASH-02 (project cards), and DASH-03 (empty state). Tests compile cleanly and skip without TEST_DATABASE_URL. They will turn RED when a DB is wired and AppLayout is not yet implemented — that is the expected Wave 0 state.
|
||||||
|
|
||||||
|
## Tasks Completed
|
||||||
|
|
||||||
|
| Task | Name | Commit | Files |
|
||||||
|
|------|------|--------|-------|
|
||||||
|
| 1 | Add Wave 0 RED test stubs for DASH-01, DASH-02, DASH-03 | 7bea525 | backend/internal/web/handlers_tablos_test.go |
|
||||||
|
|
||||||
|
## Acceptance Criteria Verification
|
||||||
|
|
||||||
|
- `go build ./internal/web/...` exits 0: PASSED
|
||||||
|
- `grep -c "func TestTablosDashboard_Sidebar"` returns 1: PASSED
|
||||||
|
- `grep -c "func TestTablosDashboard_ProjectCards"` returns 1: PASSED
|
||||||
|
- `grep -c "func TestTablosDashboard_EmptyState"` returns 1: PASSED
|
||||||
|
- Tests skip without TEST_DATABASE_URL: PASSED (all three show SKIP)
|
||||||
|
- Existing TestTablos* tests pass: PASSED
|
||||||
|
|
||||||
|
## Test Behaviors (RED)
|
||||||
|
|
||||||
|
- **TestTablosDashboard_Sidebar**: GET / with session → asserts `strings.Contains(body, "dashboard-sidebar")` and `strings.Contains(body, "sidebar-nav-shell")`
|
||||||
|
- **TestTablosDashboard_ProjectCards**: GET / with one pre-inserted tablo → asserts `strings.Contains(body, "project-card")`
|
||||||
|
- **TestTablosDashboard_EmptyState**: GET / with zero tablos → asserts `strings.Contains(body, "ui-empty-state")`
|
||||||
|
|
||||||
|
## Deviations from Plan
|
||||||
|
|
||||||
|
None — plan executed exactly as written.
|
||||||
|
|
||||||
|
## Known Stubs
|
||||||
|
|
||||||
|
None — this plan adds tests only, no implementation stubs.
|
||||||
|
|
||||||
|
## Threat Flags
|
||||||
|
|
||||||
|
None — test-only changes; no new network surface.
|
||||||
|
|
||||||
|
## Self-Check: PASSED
|
||||||
|
|
||||||
|
- File exists: backend/internal/web/handlers_tablos_test.go — FOUND
|
||||||
|
- Commit 7bea525 exists in git log — FOUND
|
||||||
|
- All three test functions present and compile cleanly — VERIFIED
|
||||||
Loading…
Reference in a new issue