test: cover presentation route rehearsal contracts

This commit is contained in:
lda
2026-07-13 00:47:56 +07:00 Verified
parent 0077bab225
commit c9ebc73184
3 changed files with 125 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
# Task 3 Report
## Changed Files
- `web/apps/console/src/presentation/presentation-rehearsal.test.ts`
- Added the pure rehearsal storyboard contract.
- Verifies all 14 current scene IDs, expected beat counts, and canonical beat IDs.
- Failure messages identify the missing scene or `scene/beat` pair.
- `web/apps/console/src/presentation/PresentationRoute.test.tsx`
- Added direct-hash coverage for the nine required routes.
- Verifies visible accessible headings and demo-chrome ownership for Scenes 8 through 12.
- Added no-accidental-chrome coverage for title, problem, architecture, evaluation, and conclusion routes.
- Verifies prepared lifecycle assistant-pane ownership, footer ownership, and exactly one run action.
## Deviations
- `#scene/conclusion/questions` intentionally asserts the visible `Thesis contribution` discussion-index heading. That beat renders the examiner discussion index instead of the `Limits and Conclusion` scene caption.
- The typed approval route intentionally checks for the visible demo rail rather than a run button because its chrome is a paused review status with a `Submit` action.
## Bugs
- No production bugs found. No production files were changed.
## Verification
- `pnpm --dir web/apps/console test -- src/presentation/presentation-rehearsal.test.ts src/presentation/PresentationRoute.test.tsx`
- Passed: 2 test files, 67 tests.
- `pnpm --dir web/apps/console typecheck`
- Passed: `tsc -b --pretty false`.
- `git diff --check`
- Passed with no whitespace errors.
- Self-review confirmed the changes are limited to the Task 3 test contracts and this report.