1.7 KiB
1.7 KiB
T823 — sweep funnel mock and ux gate tests
Status:
doneMilestone:M2Est. change:~180 lines
Goal
完成後 mock 巡邏結果能說清楚每階段數量、點數與 partial/blocked/failed,並完成 Phase B UX gate 的自動驗收基礎。
Depends on
- T821、T822、T813
Inputs
apps/web/src/pages/RadarWatchesPage.tsxapps/web/src/pages/RadarOpportunitiesPage.tsxapps/web/src/data/fixtures/radarInbox.ts- Spec §5.3–§5.4、§6.3–§6.4、驗收 #14–#15、#19
Outputs
程式變更(預期路徑)
| 路徑 | 動作 | 說明 |
|---|---|---|
apps/web/src/components/radar/SweepFunnelSummary.tsx |
add | hit/dedupe/prefilter/cache/judge/created/deferred/credits |
apps/web/src/data/mock/radarRepo.ts |
edit | 完整 sweep result mock |
apps/web/src/pages/ProductRadarLiveFlow.test.tsx |
edit | inbox+map+preview+sweep flow |
apps/web/src/pages/RadarOpportunitiesPage.test.tsx |
edit | UX gate scenarios |
行為變更
- 0 hit、全排除、partial_budget、blocked_budget、failed 都有原因與下一步。
API / 契約(若有)
- funnel 欄位與 T800/T801 一致;不把 merged 當 created。
Out of scope
- 不寫 Phase C worker 或真 AI。
Acceptance
- mock flow 可在三分鐘內完成查看、處理、預覽、巡邏結果對帳。
- M1+M2 測試綠;使用者已明確要求「全部執行」,視為 UX gate 批准後繼續。
- 指令:
cd apps/web && npm run test -- ProductRadarLiveFlow RadarOpportunitiesPage && npm run build
Notes
這是 Phase B 最後一題;完成後停在使用者 UX 批准,不直接進後端。