关联场景:
../user-scenarios/02-parent.md。对应 e2e:../e2e/roles/parent/*.spec.js、../e2e/family-member-management.spec.js、../e2e/assessment-order-flow.spec.js、../e2e/dan-report-flow.spec.js、../e2e/ai-plan-task-flow.spec.js。
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-P-01 | P-1 | 家庭 | 家长 | P0 | 功能 | 已登录(默认 parent) | 1. 创建家庭(名称「测试家庭1」) | 家庭创建成功;生成唯一邀请码+二维码(令牌+落地页);角色变家庭管理员 | FamilyInviteController |
e2e/roles/parent/family-management.spec.js |
| TC-P-02 | P-2 | 家庭/成员 | 家长 | P1 | 功能 | 家庭已创建;爷爷 C 可用 | 1. 分享邀请码/二维码给 C 2. C register-with-invite 加入 |
C 加入家庭,成员列表出现 C | FamilyInviteController |
— |
| TC-P-03 | P-2 | 成员资料 | 家长 | P1 | 功能 | 家庭已创建 | 1. 添加成员资料(姓名/关系/生日/性别) | 成员卡片正确显示;关系标签可选(RelationshipPicker) | FamilyMembersController |
e2e/family-member-management.spec.js |
| TC-P-04 | P-2 | 关系图 | 家长 | P1 | 功能 | 成员 C 已加入 | 1. 编辑 C 关系为「外公」 | 关系图节点与关系标签同步更新 | 关系类型 CRUD/前端选择器 | — |
| TC-P-05 | P-4 | 任务 | 家长 | P0 | 功能 | 家庭含孩子 B | 1. 创建任务(标题/成员 B/积分 10/频率每日) | 任务出现在 B 列表,状态待执行 | TaskController |
e2e/roles/parent/../tasks |
| TC-P-06 | P-4 | 任务审核 | 家长 | P0 | 功能 | B 已提交任务 | 1. 审批「通过」/「驳回」 | 通过→B 积分+N 并生成流水;驳回→退回重做;重复提交不重复发分 | TaskController/PointsController |
— |
| TC-P-07 | P-5 | 心愿 | 家长 | P1 | 功能 | 孩子已创建心愿 | 1. 审批心愿(通过/驳回) | 通过→扣积分进入兑换;驳回→心愿失效;积分不足兑换拦截 | WishController/RewardController |
e2e/roles/parent/wish-management.spec.js |
| TC-P-08 | P-6 | 能量 | 家长 | P1 | 功能 | 已有能量记录 | 1. 进五维能量/健康指数首页 2. 查流水 | 显示家庭健康指数与五维能量分配(总和=100%);流水可追溯;无数据时空态非 500 | EnergyController |
e2e/roles/parent/energy-dashboard.spec.js |
| TC-P-09 | P-7 | 测评订单 | 家长 | P0 | 功能 | 已绑定规划师 T;孩子 B 在家庭中 | 1. 申请测评(选 B+类型+T) 2. 孩子快照 3. 支付 | 生成测评订单;状态 已支付→待安排→已预约;未支付/未选规划师不进入待安排 | AssessmentAppointmentController |
e2e/assessment-order-flow.spec.js |
| TC-P-10 | P-8 | 健康报告 | 家长 | P0 | 功能 | 持有募极生物菌群 PDF | 1. 上传 PDF(/api/media/upload+解析入口) |
识别为 gut_flora;三阶段上传→解析预览→确认入库;非募极报告提示「请确认是募极生物肠道菌群报告」 | 健康报告上传解析 | e2e/dan-report-flow.spec.js |
| TC-P-11 | P-8 | 报告查看 | 家长 | P1 | 功能 | 报告已入库 | 1. 打开报告列表→菌群报告详情 | 显示菌群健康分/平衡/多样性、菌种明细、疾病风险;七维评分刷新 | 报告解析 | — |
| TC-P-12 | P-9 | 饮食推荐 | 家长 | P1 | 功能 | P-10 报告已入库 | 1. 打开「身→饮食推荐」 | 按报告生成食材推荐指数,展示可吃/慎吃列表;无报告时无推荐 | 饮食推荐系统 | — |
| TC-P-13 | P-10 | AI 方案 | 家长 | P0 | 功能 | 孩子 B 有报告;部分需会员 | 1. 选 B+目标 2. 调 LangGraph 生成方案 | 生成 overview+营养/饮食/运动三板块;可逐板块重生成/确认;未购买会员→提示购买 | AI 统一走 LangGraph;AiGateway |
e2e/ai-plan-task-flow.spec.js |
| TC-P-14 | P-10 | 方案提交 | 家长 | P1 | 功能 | 方案已生成 | 1. 保存/提交方案 | 进入「已提交(待规划师审核)」或按配置直接发布 | 方案状态机 | — |
| TC-P-15 | P-3 | 双角色 | 家长 | P0 | 权限 | 家庭含孩子 B | 1. 个人中心→切换视角→选 B 2. 切回家长(密码) 3. 孩子端反向尝试 | 切换为孩子端界面(数据隔离);切回需密码;孩子端不能切回家长 | POST /api/family/member/switch(替代废弃 switch-mode);双角色铁律 |
e2e/roles/parent/family-management.spec.js |
| TC-P-16 | P-10 | 会员 | 家长 | P1 | 功能 | 未购会员 | 1. 购买会员/套餐并支付 | 支付成功解锁方案生成等付费功能;未购买点击生成提示购买 | MembershipController/ProductOrderController |
e2e/roles/parent/../membership |
| TC-P-17 | P-12 | 积分/成长 | 家长 | P1 | 功能 | 已有记录 | 1. 查积分明细 2. 查成长记录 | 积分流水与孩子成长记录一致;时间格式 yyyy-MM-dd HH:mm:ss;积分与流水总额一致 | PointsController/GrowthController |
e2e/roles/parent/points.spec.js |
| TC-P-18 | P-11 | AI 对话 | 家长 | P1 | 功能 | 已登录 | 1. POST /api/ai/health-coach/send(问便秘) 2. 多轮 |
返回基于知识库回答,可含产品/任务推荐;LangGraph 不可用时 AiGateway Fallback 兜底;多轮连续 | AIChatController;LangGraph RAG |
— |
AiGateway Fallback,前端友好提示而非 500。create 前置为「有效额度」——无额度/额度过期 → POST /api/assessment/appointment/create 返回「额度不足或已过期」,不建预约、不发放能量(见 test-cases/deep-dive-assessment-appointment.md TC-DV-03/10)。quotaId+memberId 重复提交 create → 当前会建 2 条预约并发 2 次能量【缺陷】,期望拒绝/返回既有(TC-DV-04)。test-cases/deep-dive-assessment-appointment.md。