# 跨角色端到端测试用例(Cross-Role E2E · 主链路) > 关联:各角色场景中的「主链路」片段;黑盒方案第 4.7 节(周五演示脚本)。 > 目标:验证 **报告上传 → 解析入库 → 方案生成 → 审核 → 激活拆任务 → 执行打卡 → 审核统计** 的跨角色闭环。 > 对应 e2e:`../e2e/assessment-order-flow.spec.js`、`../e2e/dan-report-flow.spec.js`、`../e2e/ai-plan-task-flow.spec.js`、`../e2e/energy-system.spec.js`、`../e2e/admin-panel.spec.js`。 ## 主链路全景(角色流转) ``` 规划师(代传报告) → 家长(生成方案) → 规划师(批准+激活) → 孩子(打卡) → 规划师(审核) → 运营(统计) ↑ 也可由家长直接上传报告(P-8/P-10) ``` | TC 编号 | 环节 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联场景/用例 | |---|---|---|---|---|---|---|---|---| | TC-X-01 | 报告上传解析 | 规划师 | P0 | 功能 | 已绑定家庭+孩子 B;募极生物 PDF | 1. 代上传 PDF+选 B 2. 解析预览 3. 确认入库 | 报告自动解析入库;七维健康评分刷新;`/api/health/report/list` 可查到 | T-3 / P-10 | | TC-X-02 | 报告审核入库 | 规划师 | P0 | 功能 | X-01 草稿 | 1. 审核队列确认/直接入库 | 健康报告列表可见该报告 | T-4 | | TC-X-03 | 方案生成 | 家长 | P0 | 功能 | 孩子 B 有报告;已购会员 | 1. 选 B+默认目标 2. 调 LangGraph 生成并保存 | 方案生成成功(status=generated)并保存 | P-13 | | TC-X-04 | 方案批准+激活 | 规划师 | P0 | 功能 | X-03 方案 generated | 1. 批准(generated→reviewed) 2. 激活(reviewed→active) | 孩子 B 名下出现「方案启动」引导任务+模板任务 | T-6 / T-7 | | TC-X-05 | 任务打卡 | 孩子 | P0 | 功能 | X-04 已生成方案任务 | 1. 孩子打开方案任务 2. 完成并提交打卡 | 任务待审核;方案进度 completedDays+1 | C-7 / C-2 | | TC-X-06 | 任务审核 | 规划师 | P0 | 功能 | X-05 已提交 | 1. 审核通过 | 孩子积分到账,流水可见 | T-9 / P-06 | | TC-X-07 | 全局统计 | 运营 | P1 | 功能 | 以上步骤已执行 | 1. 打开统计页 | 任务总量/完成数含本次演示数据 | A-02 | | TC-X-08 | 幂等与回滚(主链路健壮性) | 多角色 | P0 | 异常 | X-04 已 active 方案 | 1. 对已激活方案再次激活 2. 支付失败回滚 3. 重复打卡 | 重复激活不重复生成任务;支付失败订单不进入待安排;重复打卡不重复计数 | T-8 / P-09a / C-8 | ### 主链路验收口径 - **P0 全绿**:TC-X-01~06、TC-X-08 必须 100% 通过,否则主链路不通过。 - **数据一致性**:方案进度、积分流水、能量增量在闭环结束后彼此自洽(增分有流水、打卡有进度)。 - **AI 可用性**:TC-X-03 在 LangGraph 不可用时由 `AiGateway` Fallback 兜底,不得 500(属 P0 异常口径)。 --- ## 资产自检清单(交付前) - [x] `user-scenarios/` 6 角色场景齐全(guest/parent/child/teacher/admin/vendor) - [x] `test-cases/` 6 角色 + 跨角色 E2E 用例齐全 - [x] 双角色边界(家长↔孩子可切 / 孩子端不可切回 / 规划师可切回)在 P/C/T 用例中显式覆盖 - [x] 五维能量、测评订单闭环、健康报告主链路、LangGraph AI、文章审核、数据迁移等关键设计点均有场景+用例映射 - [x] 与既有 `BLACKBOX-TEST-PLAN.md`、`e2e/*.spec.js` 口径一致、互不冲突 - [ ] 执行侧:用例需在测试环境跑通并回填结果(本批仅交付设计资产,执行需另行按双档授权)