Files
kandev/docs/plans/interrupted-task-indicator/task-05-e2e-verification.md
T
2026-08-23 17:34:52 +00:00

69 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: "05-e2e-verification"
title: "E2E verification and final checks"
status: done
wave: 5
depends_on: ["04-frontend-icon-rendering"]
plan: "plan.md"
spec: "../../specs/tasks/requirements/interrupted-task-indicator.md"
---
# Task 05: E2E verification and final checks
## Acceptance
- A Playwright spec seeds one task with `metadata.interrupted_at` and one
without, and asserts the sidebar task list shows `task-state-interrupted`
only for the marked task.
- A marked task in `COMPLETED` state shows the done icon, not the red icon.
- The full local verification suite passes: `make fmt`, `make typecheck`,
`make test`, `make lint`.
## Verification
```bash
cd apps && pnpm --filter @kandev/web e2e -- task-interrupted-icon # or the repo's e2e invocation for one spec
cd apps && make -C .. fmt 2>/dev/null || make fmt
make typecheck
make test
make lint
```
(Follow the exact e2e invocation documented in `apps/web/e2e/README.md` and the
root `Makefile` targets; run the new spec plus the touched suites.)
## Files likely touched
- `apps/web/e2e/tests/tasks/task-interrupted-icon.spec.ts` (follow sibling
spec layout under `apps/web/e2e/tests/`)
- No public docs change: the feature is an icon on existing surfaces. Only
touch docs if a task-status reference page explicitly enumerates status
icons (check `docs/public/`; if one exists, add a one-line mention).
## Dependencies
Tasks 01–04 (the marker, DTO field, plumbing, and icon must all be live).
## Inputs
- Spec: `Scenarios` 1, 6.
- Plan: `E2E Tests`.
- Existing pattern: `apps/web/e2e/helpers/api-client.ts` `createTask` with
`metadata`, and sibling specs under `apps/web/e2e/tests/`.
## Risks
- The e2e backend must serve the derived `interrupted` field — run against the
e2e profile build so the backend code from Tasks 01–02 is present.
- Seeding `interrupted_at` through task metadata is the deterministic
stand-in for a real crash; do not attempt a real backend kill in the spec.
- A strict locator may match the interrupted icon in hidden/stale sidebar
instances — scope to the active task list container per the web AGENTS.md
guidance.
## Output contract
Report the spec file, the e2e command and result, the full
`make fmt/typecheck/test/lint` results, then mark this task `done` and update
`plan.md` to complete.