Files
kandev/docs/plans/quick-chat-activity-indicators/task-03-activity-e2e.md
T
2026-08-23 17:39:09 +00:00

44 lines
2.0 KiB
Markdown

---
id: "03-activity-e2e"
title: "Quick Chat activity E2E"
status: done
wave: 3
depends_on: ["02-activity-ui"]
plan: "plan.md"
spec: "../../specs/quick-chat-idle-dot/spec.md"
---
# Task 03: Quick Chat Activity E2E
- **Acceptance:**
1. Desktop and tablet tests prove tab spinner, blue running bubble, emerald finished bubble, and clear-on-open behavior.
2. Mobile header and task-switcher tests prove the same state sequence through touch controls.
3. WebSocket waits are armed before each message, and all indicator locators are scoped to their entry point.
- **Verification:**
```sh
cd apps && pnpm install --frozen-lockfile \
&& cd web \
&& pnpm e2e:run tests/chat/quick-chat-idle-dot.spec.ts \
&& pnpm e2e:run --project mobile-chrome tests/chat/mobile-quick-chat-idle-dot.spec.ts
```
- **Files likely touched:**
- `apps/web/e2e/tests/chat/quick-chat-idle-dot.spec.ts`
- `apps/web/e2e/tests/chat/mobile-quick-chat-idle-dot.spec.ts`
- `apps/web/e2e/tests/chat/quick-chat-helpers.ts` only if a shared activity locator removes duplication
- **Dependencies:** Task 02.
- **Parallelism:** sequential.
- **Inputs:** Spec scenarios, plan `E2E Tests`, and the existing `watchWs`, `openQuickChatWithAgent`, and `sendQuickChatMessage` patterns.
- **Risks:** The completion and session-state events use separate streams. Assert the running state before completion, then wait for the semantic completion before the finished assertion.
- **Output contract:** Report discovered test counts, exact command results, rendered mobile evidence, blockers, risks, cleanup, and synchronized task and plan status.
## Results
- Desktop/tablet command passed: 2 tests covering tab spinner, running state, finished state, and clear-on-open behavior.
- Mobile command passed: 2 tests covering the mobile header and task-switcher lifecycle through touch controls.
- `pnpm --filter @kandev/web run lint:e2e-sleeps` passed.
- WebSocket waits are armed before sends and all activity locators are scoped to their entry point.
- No test cleanup or runtime blockers remain for this task.