thread-master/docs/product/scout-topic-quality/tasks/T002-scout-page-test-harnes...

55 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2026-08-13 02:22:24 +00:00
# T002 — Scout 頁面測試骨架
> Status: `done`
> Milestone: `M0`
> Est. change: `~160 test lines`
## Goal
完成後Scout 頁面可用注入的 repository 與 job context 測試,不需真 API 或瀏覽器網路。
## Depends on
-
## Inputs
- 讀取 / 依賴:
- 檔案:`apps/web/src/pages/ScoutPage.tsx`、`apps/web/src/data/DataContext.tsx`
- 既有能力 / APIReact Testing Library、Vitest、`Repos` 介面
- Spec 段落§4 流程 D/E/F
## Outputs
### 程式變更(預期路徑)
| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/pages/ScoutPage.test.tsx` | add | 建立 renderer、fake repos、固定 job context 與基本載入案例。 |
| `apps/web/src/test/scoutFixtures.ts` | add | 提供貼文、homework 與時間 fixtures。 |
### 行為變更
- 無產品行為變更;後續 UI tasks 共用同一測試骨架。
### API / 契約(若有)
- fake repository 的失敗不得被測試 helper 轉為成功空陣列。
## Out of scope
- 不在此 task 改 Scout UI 或 repository 介面。
## Acceptance
- [ ] 能驗證 loading、成功與錯誤三種基線狀態。
- [ ] 指令:
```bash
cd apps/web && npm test -- src/pages/ScoutPage.test.tsx
```
## Notes
若既有 context 難以注入,只做最小測試 seam不建立第二套 app data flow。