44 lines
2.0 KiB
Markdown
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.
|