inventory.md 190 KB

TDD 测试用例总台账(跨源编目 · 标注来源 · 可回写)

生成依据:tdd-orchestrator/scripts/test_inventory.py 对全仓库测试源的只读扫描。 仅发现/格式化/跟踪已有测试,不创建、不发明。每条用例均标注来源(原文件路径 + 锚点), 进度回写落在 .tdd/test-progress.json 侧车(按来源锚点索引),绝不改动原测试文件。

一、汇总(按来源类型)

来源类型 文件数 用例/方法数
结构化测试用例(md) 9 729
Playwright(spec.js) 70 410
Python(pytest) 12 55
Java后端(测试文件) 198 1491 (@Test)
用户场景(md) 9 文件级
合计 — 2685 用例/方法

二、结构化测试用例(tests/test-cases/*.md)

每条来源锚点 = 文件#TC编号,回写进度时定位此锚点即可,不改原 markdown 表格。

TC编号 模块 角色 优先级 类型 来源 对应e2e 关联设计
TC-A-01 认证 运营 P0 接口 tests/test-cases/admin.md#TC-A-01 AdminAuthController 登录进入 Dashboard;错误密码不签发 token
TC-A-02 统计 运营 P1 功能 tests/test-cases/admin.md#TC-A-02 StatsController 显示任务总量/完成率,与库内一致
TC-A-03 方案管理 运营 P1 功能 tests/test-cases/admin.md#TC-A-03 方案管理(全量) 列出全部方案(含 source/进度/审核时间);可筛状态
TC-A-04 方案激活 运营 P1 功能 tests/test-cases/admin.md#TC-A-04 方案激活 生成任务成功,提示成功
TC-A-05 报告解析 运营 P1 功能 tests/test-cases/admin.md#TC-A-05 AdminReportParserController 类型列表返回≥1 条(含 gut_flora)
TC-A-06 报告解析 运营 P1 接口 tests/test-cases/admin.md#TC-A-06 报告类型注册 保存成功列表可见;重复 typeId 被拒绝
TC-A-07 报告解析 运营 P2 功能 tests/test-cases/admin.md#TC-A-07 未知聚类自学习 聚类列表可见;可自学习生成类型
TC-A-08 文章 运营 P0 功能 tests/test-cases/admin.md#TC-A-08 文章发布-审核 创建 1s 内返回成功(无超时);审核通过 C 端可见;长文稳定
TC-A-09 文章·去重 运营 P1 异常 tests/test-cases/admin.md#TC-A-09 文章标题去重 第二次被拦截(标题已存在)
TC-A-10 关系类型 运营 P1 功能 tests/test-cases/admin.md#TC-A-10 关系类型 CRUD 操作成功;家长端关系选择器同步生效
TC-A-11 勋章 运营 P0 接口 tests/test-cases/admin.md#TC-A-11 勋章管理;黑盒回归 200 成功,badgeId 自动生成,列表可见
TC-A-12 供应商 运营 P0 接口 tests/test-cases/admin.md#TC-A-12 供应商管理;黑盒回归 200 成功,列表 name=昵称;同手机号重复被拒/可控覆盖
TC-A-13 活动 运营 P1 功能 tests/test-cases/admin.md#TC-A-13 活动审核撤回;黑盒回归 状态流转正确;已发布可撤回;全流程无 500
TC-A-14 知识库 运营 P1 接口 tests/test-cases/admin.md#TC-A-14 知识库管理;黑盒回归 200 成功,列表移除,无 500
TC-A-15 数据迁移 运营 P2 功能 tests/test-cases/admin.md#TC-A-15 多数据源/SfmsDataSourceConfig 接口返回成功,关键业务表数据量更新;失败回滚+明确错误
TC-A-16 参数校验 运营 P0 异常 tests/test-cases/admin.md#TC-A-16 统一 Result<T>+全局异常;黑盒回归 返回 400 + 具体字段提示(不再裸 500)
TC-A-17 /api/admin/report-parser/* 运营 P1 功能 tests/test-cases/admin.md#TC-A-17 /api/admin/report-parser/* 达成目标:标注未知聚类;边界:新类先注册再解析
TC-A-18 优惠券/活动管理 运营 P1 功能 tests/test-cases/admin.md#TC-A-18 优惠券/活动管理 达成目标:后台配券建活动;边界:时间冲突校验;名额超卖配置保护
TC-A-19 内容安全 运营 P1 功能 tests/test-cases/admin.md#TC-A-19 内容安全 达成目标:审 UGC/AI;边界:敏感词命中拦截
TC-A-20 GDPR 工单 运营 P1 功能 tests/test-cases/admin.md#TC-A-20 GDPR 工单 达成目标:处理用户注销/导出;边界:审计留痕;冷静期
TC-A-21 网关/限流 运营 P1 功能 tests/test-cases/admin.md#TC-A-21 网关/限流 达成目标:接口防护;边界:误杀白名单
TC-A-22 模型管理 运营 P1 功能 tests/test-cases/admin.md#TC-A-22 模型管理 达成目标:模型版本/开关;边界:下线前回退方案
TC-A-23 知识库 运营 P1 功能 tests/test-cases/admin.md#TC-A-23 知识库 达成目标:维护营养知识;边界:同步失败重试
TC-A-01-E 认证 运营 P2 异常 tests/test-cases/admin.md#TC-A-01-E AdminAuthController 错误密码不签发 token 且提示次数限制/锁定;过期 token 401 跳登录;弱密码 400 拦截
TC-A-02-E 统计 运营 P2 异常 tests/test-cases/admin.md#TC-A-02-E StatsController 超时降级提示非500;无数据显示『暂无数据』;时间非法 400
TC-A-03-E 方案管理 运营 P2 异常 tests/test-cases/admin.md#TC-A-03-E 方案管理(全量) 超时降级非500;非法筛选 400;仅返回有权家庭数据不串
TC-A-04-E 方案激活 运营 P2 异常 tests/test-cases/admin.md#TC-A-04-E 方案激活 非 reviewed 激活拦截;超时回滚不残半任务;并发幂等仅生成 1 次任务
TC-A-05-E 报告解析 运营 P2 异常 tests/test-cases/admin.md#TC-A-05-E AdminReportParserController 超时降级非500;重复 typeId 400 拒绝;路径非法 400
TC-A-06-E 报告解析 运营 P2 异常 tests/test-cases/admin.md#TC-A-06-E 报告类型注册 重复 typeId 拒绝;必填缺失 400;threshold 非法 400
TC-A-07-E 报告解析 运营 P3 异常 tests/test-cases/admin.md#TC-A-07-E 未知聚类自学习 超时降级非500;重名类型生成被拒/提示已存在
TC-A-08-E 文章 运营 P2 异常 tests/test-cases/admin.md#TC-A-08-E 文章发布-审核 同标题 400『标题已存在』;长文提交超时重试不丢稿;注入 400 或转义
TC-A-09-E 文章·去重 运营 P2 异常 tests/test-cases/admin.md#TC-A-09-E 文章标题去重 重复创建被拦截提示标题已存在;空/超长 400
TC-A-10-E 关系类型 运营 P2 异常 tests/test-cases/admin.md#TC-A-10-E 关系类型 CRUD 重名拒绝;停用被引用类型提示先解绑;注入 400/转义;家长端选择器同步生效仍正确
TC-A-11-E 勋章 运营 P2 异常 tests/test-cases/admin.md#TC-A-11-E 勋章管理;黑盒回归 重复 400/幂等;非法门槛 400;并发创建各自独立不串
TC-A-12-E 供应商 运营 P2 异常 tests/test-cases/admin.md#TC-A-12-E 供应商管理;黑盒回归 同手机号拒绝/可控覆盖;非法格式 400;必填缺失 400;列表 name=昵称正确
TC-A-13-E 活动 运营 P2 异常 tests/test-cases/admin.md#TC-A-13-E 活动审核撤回;黑盒回归 已发布再提交审核守卫拦截;非本人撤回 403;时间冲突 400;撤回退回草稿
TC-A-14-E 知识库 运营 P2 异常 tests/test-cases/admin.md#TC-A-14-E 知识库管理;黑盒回归 被引用删除提示先解绑;不存在 404;并发删除幂等
TC-A-15-E 数据迁移 运营 P3 异常 tests/test-cases/admin.md#TC-A-15-E 多数据源/SfmsDataSourceConfig 中断回滚+明确错误非500;锁等待超时提示;重复执行幂等/提示已迁移
TC-A-16-E 参数校验 运营 P2 异常 tests/test-cases/admin.md#TC-A-16-E 统一 Result<T>+全局异常;黑盒回归 空 body 400 含具体字段提示;类型错配 400;超长 400;不再裸 500
TC-A-17-E /api/admin/report-parser/* 运营 P2 异常 tests/test-cases/admin.md#TC-A-17-E /api/admin/report-parser/* 重名类目拒绝;未注册路径 400;先注册再解析
TC-A-18-E 优惠券/活动管理 运营 P2 异常 tests/test-cases/admin.md#TC-A-18-E 优惠券/活动管理 时间冲突 400;名额超卖配置保护生效;重复提交幂等
TC-A-19-E 内容安全 运营 P2 异常 tests/test-cases/admin.md#TC-A-19-E 内容安全 超时降级非500;命中敏感词强制拦截不放行
TC-A-20-E GDPR 工单 运营 P2 异常 tests/test-cases/admin.md#TC-A-20-E GDPR 工单 并发安全:注销与导出按序执行不冲突;越权工单 403
TC-A-21-E 网关/限流 运营 P2 异常 tests/test-cases/admin.md#TC-A-21-E 网关/限流 白名单不被限流;非法阈值 400;规则生效可控
TC-A-22-E 模型管理 运营 P2 异常 tests/test-cases/admin.md#TC-A-22-E 模型管理 无回退方案拦截下线;非法版本 400;上下线版控正确
TC-A-23-E 知识库 运营 P2 异常 tests/test-cases/admin.md#TC-A-23-E 知识库 同步失败自动重试非500;并发 CRUD 乐观锁不互相覆盖
TC-A-01-P 认证 运营 P1 权限 tests/test-cases/admin.md#TC-A-01-P AdminAuthController 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-02-P 统计 运营 P1 权限 tests/test-cases/admin.md#TC-A-02-P StatsController 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-03-P 方案管理 运营 P1 权限 tests/test-cases/admin.md#TC-A-03-P 方案管理(全量) 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-04-P 方案激活 运营 P1 权限 tests/test-cases/admin.md#TC-A-04-P 方案激活 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-05-P 报告解析 运营 P1 权限 tests/test-cases/admin.md#TC-A-05-P AdminReportParserController 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-06-P 报告解析 运营 P1 权限 tests/test-cases/admin.md#TC-A-06-P 报告类型注册 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-07-P 报告解析 运营 P2 权限 tests/test-cases/admin.md#TC-A-07-P 未知聚类自学习 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-08-P 文章 运营 P1 权限 tests/test-cases/admin.md#TC-A-08-P 文章发布-审核 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-09-P 文章·去重 运营 P1 权限 tests/test-cases/admin.md#TC-A-09-P 文章标题去重 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-10-P 关系类型 运营 P1 权限 tests/test-cases/admin.md#TC-A-10-P 关系类型 CRUD 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-11-P 勋章 运营 P1 权限 tests/test-cases/admin.md#TC-A-11-P 勋章管理;黑盒回归 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-12-P 供应商 运营 P1 权限 tests/test-cases/admin.md#TC-A-12-P 供应商管理;黑盒回归 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-13-P 活动 运营 P1 权限 tests/test-cases/admin.md#TC-A-13-P 活动审核撤回;黑盒回归 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-14-P 知识库 运营 P1 权限 tests/test-cases/admin.md#TC-A-14-P 知识库管理;黑盒回归 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-15-P 数据迁移 运营 P2 权限 tests/test-cases/admin.md#TC-A-15-P 多数据源/SfmsDataSourceConfig 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-16-P 参数校验 运营 P1 权限 tests/test-cases/admin.md#TC-A-16-P 统一 Result<T>+全局异常;黑盒回归 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据
TC-A-17-P /api/admin/report-parser/* 运营 P1 权限 tests/test-cases/admin.md#TC-A-17-P /api/admin/report-parser/* 非 admin 角色访问统一 401/403,不泄露后台数据
TC-A-18-P 优惠券/活动管理 运营 P1 权限 tests/test-cases/admin.md#TC-A-18-P 优惠券/活动管理 非 admin 角色访问统一 401/403,不泄露后台数据
TC-A-19-P 内容安全 运营 P1 权限 tests/test-cases/admin.md#TC-A-19-P 内容安全 非 admin 角色访问统一 401/403,不泄露后台数据
TC-A-20-P GDPR 工单 运营 P1 权限 tests/test-cases/admin.md#TC-A-20-P GDPR 工单 非 admin 角色访问统一 401/403,不泄露后台数据
TC-A-21-P 网关/限流 运营 P1 权限 tests/test-cases/admin.md#TC-A-21-P 网关/限流 非 admin 角色访问统一 401/403,不泄露后台数据
TC-A-22-P 模型管理 运营 P1 权限 tests/test-cases/admin.md#TC-A-22-P 模型管理 非 admin 角色访问统一 401/403,不泄露后台数据
TC-A-23-P 知识库 运营 P1 权限 tests/test-cases/admin.md#TC-A-23-P 知识库 非 admin 角色访问统一 401/403,不泄露后台数据
TC-A-25 维度/权重/上限配置 运营 P1 功能 tests/test-cases/admin.md#TC-A-25 DimensionConfigController/DimensionWeightController 变更生效、后续能量按新配置;存量影响提示
TC-A-26 能量/归因权重 运营 P1 功能 tests/test-cases/admin.md#TC-A-26 EnergyController/AttributionWeights 全局生效;变更写审计;概览/沙盘/天盘影响可观测
TC-A-25-E 维度/权重/上限配置 运营 P2 异常 tests/test-cases/admin.md#TC-A-25-E DimensionConfigController 1. 需确认/拒、不级联破坏存量 2. 400 拦截 3. 乐观锁/版本控制不互相覆盖
TC-A-26-E 能量/归因权重 运营 P2 异常 tests/test-cases/admin.md#TC-A-26-E EnergyController/AttributionWeights 1. 400 拦截 2. 展示兜底并提示、不静默错算
TC-A-25-P 维度/权重/上限配置 运营 P1 权限 tests/test-cases/admin.md#TC-A-25-P DimensionConfigController 非 admin 操作 403
TC-A-26-P 能量/归因权重 运营 P1 权限 tests/test-cases/admin.md#TC-A-26-P EnergyController 非 admin 改全局 403
TC-A-N01 配置CRUD 运营 P1 性能 tests/test-cases/admin.md#TC-A-N01 配置管理 列表 ≤ 2s;CRUD 即时生效
TC-A-N02 报告解析中台 运营 P0 性能 tests/test-cases/admin.md#TC-A-N02 解析中台 单条 ≤ 30s;失败进未知聚类;监控可见积压
TC-A-N03 登录统计 运营 P1 性能 tests/test-cases/admin.md#TC-A-N03 统计聚合 聚合 ≤ 3s;支持分页/缓存;大数据不超时
TC-A-N04 限流熔断 运营 P0 性能 tests/test-cases/admin.md#TC-A-N04 限流熔断 触发限流/熔断返回 429/友好降级;系统不雪崩;恢复后正常
TC-A-N05 登录统计 运营 P0 安全 tests/test-cases/admin.md#TC-A-N05 后台鉴权 返回 401/403;后台不可被非管理员进入
TC-A-N06 文章审核 运营 P1 安全 tests/test-cases/admin.md#TC-A-N06 内容安全 内容转义/过滤;不执行脚本
TC-A-N07 内容安全 运营 P0 安全 tests/test-cases/admin.md#TC-A-N07 SSRF 防护 禁止内网地址(SSRF 防护);仅白名单外域;超时截断
TC-A-N08 知识库 运营 P1 安全 tests/test-cases/admin.md#TC-A-N08 上传校验 类型校验拒绝;不落盘执行
TC-A-N09 注销导出 运营 P0 安全 tests/test-cases/admin.md#TC-A-N09 数据导出合规 仅工单授权用户可导出;数据脱敏打包;操作留痕审计
TC-C-01 权限/双角色 孩子 P0 权限 tests/test-cases/child.md#TC-C-01 双角色铁律:孩子端不能切家长 进入孩子端首页;无切换家长入口;直接拼家长路由被 role 校验拦截
TC-C-02 任务 孩子 P0 功能 tests/test-cases/child.md#TC-C-02 TaskController 状态→待家长审核;完成动作写入记录;重复提交不重复计分
TC-C-03 小游戏 孩子 P1 功能 tests/test-cases/child.md#TC-C-03 pages/games/* 得分按规则计算;积分/能量到账;成绩入榜;中途退出不计分
TC-C-04 心愿 孩子 P1 功能 tests/test-cases/child.md#TC-C-04 WishController 心愿进入家长待审批列表;积分不足创建拦截
TC-C-05 心愿 孩子 P1 功能 tests/test-cases/child.md#TC-C-05 RewardController 兑换成功,积分扣减正确;驳回后不可兑换
TC-C-06 能量 孩子 P1 功能 tests/test-cases/child.md#TC-C-06 EnergyController 显示个人能量值;有增量且流水可追溯;能量不为负
TC-C-07 报告/权限 孩子 P1 权限 tests/test-cases/child.md#TC-C-07 报告查看权限隔离 可见报告内容;UI 无编辑/删除入口;直接调删除接口被 role 校验拒绝(403/401)
TC-C-08 打卡/方案 孩子 P0 功能 tests/test-cases/child.md#TC-C-08 健康打卡/方案进度 打卡成功,方案 completedDays+1;重复打卡不重复计数(幂等)
TC-C-09 勋章 孩子 P2 功能 tests/test-cases/child.md#TC-C-09 RewardController 显示已获得/未获得勋章及进度;未解锁不显示领取
TC-C-10 勋章提醒 孩子 P2 功能 tests/test-cases/child.md#TC-C-10 MedalController 达成→解锁+推送;重复达成不重复发推送
TC-C-11 成长记录 孩子 P1 功能 tests/test-cases/child.md#TC-C-11 GrowthController 仅展示本人数据;其他成员数据不可见
TC-C-12 食谱查看 孩子 P1 功能 tests/test-cases/child.md#TC-C-12 饮食推荐 展示早/午/晚;无食谱显示空态不 500
TC-C-13 AI 对话 孩子 P1 功能 tests/test-cases/child.md#TC-C-13 AIChatController 返回适龄回答;敏感/不适龄内容被过滤
TC-C-14 任务重做 孩子 P1 功能 tests/test-cases/child.md#TC-C-14 TaskController 驳回后可重做;重做提交进入待审核
TC-C-15 消息接收 孩子 P1 功能 tests/test-cases/child.md#TC-C-15 消息服务 仅见发给自己的消息;越权消息不可见
TC-C-16 个人资料 孩子 P1 功能 tests/test-cases/child.md#TC-C-16 AuthController 敏感字段(如关系)家长代管不可改
TC-C-17 退出 孩子 P1 功能 tests/test-cases/child.md#TC-C-17 AuthController 退出清除本地缓存;回登录页
TC-C-18 设备校验 孩子 P2 功能 tests/test-cases/child.md#TC-C-18 AuthController 异常设备触发二次验证;通过后放行
TC-C-19 消息服务 孩子 P1 功能 tests/test-cases/child.md#TC-C-19 消息服务 达成目标:收通知;边界:越权消息不可见
TC-C-20 GrowthController 孩子 P1 功能 tests/test-cases/child.md#TC-C-20 GrowthController 达成目标:看自己档案;边界:未成年人导出受限,需家长代办
TC-C-21 舌诊情绪识别 孩子 P1 功能 tests/test-cases/child.md#TC-C-21 舌诊情绪识别 达成目标:拍照上传;边界:模糊/非照片拒绝;隐私标注
TC-C-22 MallController 孩子 P1 功能 tests/test-cases/child.md#TC-C-22 MallController 达成目标:用积分换;边界:积分不足拦截;重复兑换幂等
TC-C-23 客服 孩子 P1 功能 tests/test-cases/child.md#TC-C-23 客服 达成目标:提反馈;边界:内容适龄过滤;敏感信息脱敏
TC-C-01-E 权限/双角色 孩子 P2 异常 tests/test-cases/child.md#TC-C-01-E 双角色铁律:孩子端不能切家长 缺失/过期 token 统一 401 跳登录;切换/家长路由被 role 校验 403 拦截;孩子端无任何切回家长入口;模拟登录仅测试环境生效
TC-C-02-E 任务 孩子 P2 异常 tests/test-cases/child.md#TC-C-02-E TaskController 并发双点幂等仅计 1 次、仅 1 条流水;超期提交被拒;驳回→重做→再提交仅在重做后计 1 次
TC-C-03-E 小游戏 孩子 P2 异常 tests/test-cases/child.md#TC-C-03-E pages/games/* 异常分数 400 不计入;断网不计分不卡死;重复上报幂等不重复入榜
TC-C-04-E 心愿 孩子 P2 异常 tests/test-cases/child.md#TC-C-04-E WishController 余额不足创建拦截;超长/注入 400 校验;重复创建提示已存在不双建
TC-C-05-E 心愿 孩子 P2 异常 tests/test-cases/child.md#TC-C-05-E RewardController 余额不足拦截且不扣负;已驳回提示不可兑换;并发幂等仅扣 1 次
TC-C-06-E 能量 孩子 P2 异常 tests/test-cases/child.md#TC-C-06-E EnergyController 超时降级空态提示非 500;权重 0 占比兜底(0%)显示不崩;能量不为负
TC-C-07-E 报告/权限 孩子 P2 异常 tests/test-cases/child.md#TC-C-07-E 报告查看权限隔离 删除/编辑被 role 校验 403 拒绝;孩子端 UI 无编辑/删除入口;报告内容不被改动
TC-C-08-E 打卡/方案 孩子 P2 异常 tests/test-cases/child.md#TC-C-08-E 健康打卡/方案进度 超时回滚不残半任务、进度不 +1;重复打卡幂等不重复计数;非本人任务 403
TC-C-09-E 勋章 孩子 P3 异常 tests/test-cases/child.md#TC-C-09-E RewardController 重复达成不重复发推送/勋章;未达成领取 400/403 拒绝
TC-C-10-E 勋章提醒 孩子 P3 异常 tests/test-cases/child.md#TC-C-10-E MedalController 重复达成幂等仅 1 次推送;数据缺失降级不推送不 500
TC-C-11-E 成长记录 孩子 P2 异常 tests/test-cases/child.md#TC-C-11-E GrowthController 关联已删项跳过不报错;其他成员数据 403 不可见
TC-C-12-E 食谱查看 孩子 P2 异常 tests/test-cases/child.md#TC-C-12-E 饮食推荐 超时 Fallback 通用食谱+提示非 500;无食谱空态不 500
TC-C-13-E AI 对话 孩子 P2 异常 tests/test-cases/child.md#TC-C-13-E AIChatController 不适龄/敏感词被过滤返回适龄话术;LangGraph 不可用 Fallback 兜底、多轮连续
TC-C-14-E 任务重做 孩子 P2 异常 tests/test-cases/child.md#TC-C-14-E TaskController 非驳回态重做入口不可见/拦截;重做提交进入待审核仅计 1 次
TC-C-15-E 消息接收 孩子 P2 异常 tests/test-cases/child.md#TC-C-15-E 消息服务 越权消息 403 不可见;不存在 404;列表分页正常
TC-C-16-E 个人资料 孩子 P2 异常 tests/test-cases/child.md#TC-C-16-E AuthController 代管字段 403 不可改;昵称注入/超长 400 校验
TC-C-17-E 退出 孩子 P2 异常 tests/test-cases/child.md#TC-C-17-E AuthController 旧 token 失效 401;网络中断退出仍清本地缓存、下次需重登
TC-C-18-E 设备校验 孩子 P3 异常 tests/test-cases/child.md#TC-C-18-E AuthController 异常设备二次验证/拦截;旧设备 token 失效 401
TC-C-19-E 消息服务 孩子 P2 异常 tests/test-cases/child.md#TC-C-19-E 消息服务 不存在 404;越权标记 403 不生效
TC-C-20-E GrowthController 孩子 P2 异常 tests/test-cases/child.md#TC-C-20-E GrowthController 未成年导出 403 需家长代办;他人档案 403 不可见
TC-C-21-E 舌诊情绪识别 孩子 P2 异常 tests/test-cases/child.md#TC-C-21-E 舌诊情绪识别 非照片/模糊拒绝提示『请上传清晰舌苔照』;低置信度提示重拍;隐私标注不外露
TC-C-22-E MallController 孩子 P2 异常 tests/test-cases/child.md#TC-C-22-E MallController 余额不足拦截不扣负;并发仅 1 次成功;重复兑换幂等仅 1 条
TC-C-23-E 客服 孩子 P2 异常 tests/test-cases/child.md#TC-C-23-E 客服 敏感信息脱敏存储;附件超限 400『附件不超过 10MB』
TC-C-01-P 权限/双角色 孩子 P1 权限 tests/test-cases/child.md#TC-C-01-P 双角色铁律:孩子端不能切家长 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-02-P 任务 孩子 P1 权限 tests/test-cases/child.md#TC-C-02-P TaskController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-03-P 小游戏 孩子 P1 权限 tests/test-cases/child.md#TC-C-03-P pages/games/* 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-04-P 心愿 孩子 P1 权限 tests/test-cases/child.md#TC-C-04-P WishController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-05-P 心愿 孩子 P1 权限 tests/test-cases/child.md#TC-C-05-P RewardController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-06-P 能量 孩子 P1 权限 tests/test-cases/child.md#TC-C-06-P EnergyController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-07-P 报告/权限 孩子 P1 权限 tests/test-cases/child.md#TC-C-07-P 报告查看权限隔离 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-08-P 打卡/方案 孩子 P1 权限 tests/test-cases/child.md#TC-C-08-P 健康打卡/方案进度 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-09-P 勋章 孩子 P2 权限 tests/test-cases/child.md#TC-C-09-P RewardController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-10-P 勋章提醒 孩子 P2 权限 tests/test-cases/child.md#TC-C-10-P MedalController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-11-P 成长记录 孩子 P1 权限 tests/test-cases/child.md#TC-C-11-P GrowthController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-12-P 食谱查看 孩子 P1 权限 tests/test-cases/child.md#TC-C-12-P 饮食推荐 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-13-P AI 对话 孩子 P1 权限 tests/test-cases/child.md#TC-C-13-P AIChatController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-14-P 任务重做 孩子 P1 权限 tests/test-cases/child.md#TC-C-14-P TaskController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-15-P 消息接收 孩子 P1 权限 tests/test-cases/child.md#TC-C-15-P 消息服务 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-16-P 个人资料 孩子 P1 权限 tests/test-cases/child.md#TC-C-16-P AuthController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-17-P 退出 孩子 P1 权限 tests/test-cases/child.md#TC-C-17-P AuthController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-18-P 设备校验 孩子 P2 权限 tests/test-cases/child.md#TC-C-18-P AuthController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-19-P 消息服务 孩子 P1 权限 tests/test-cases/child.md#TC-C-19-P 消息服务 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-20-P GrowthController 孩子 P1 权限 tests/test-cases/child.md#TC-C-20-P GrowthController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-21-P 舌诊情绪识别 孩子 P1 权限 tests/test-cases/child.md#TC-C-21-P 舌诊情绪识别 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-22-P MallController 孩子 P1 权限 tests/test-cases/child.md#TC-C-22-P MallController 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-23-P 客服 孩子 P1 权限 tests/test-cases/child.md#TC-C-23-P 客服 孩子端无编辑/删除/切家长入口;直接调用被 role 校验拒绝(403/401),不越权操作家庭数据
TC-C-24 能量/小游戏·任务 孩子 P1 功能 tests/test-cases/child.md#TC-C-24 GameRecordService/TaskController 对应维度 +amount、sourceType=game/task;B 自身能量页看到增长与流水
TC-C-25 能量/方案打卡 孩子 P1 功能 tests/test-cases/child.md#TC-C-25 GrowthTaskService GrowthTaskService 打卡对应维度+;任务进度与能量同步刷新
TC-C-24-E 能量/小游戏·任务 孩子 P2 异常 tests/test-cases/child.md#TC-C-24-E GameRecordService 1. 异常分数拦截不写能量 2. 重复上报幂等不重复加
TC-C-25-E 能量/方案打卡 孩子 P2 异常 tests/test-cases/child.md#TC-C-25-E GrowthTaskService 1. 按业务允/拒、断言一致 2. 重复打卡幂等不重复加 3. 并发不重复计分
TC-C-24-P 能量/小游戏·任务 孩子 P1 权限 tests/test-cases/child.md#TC-C-24-P JwtInterceptor`+role 1. 他人能量 403 2. 孩子端无编辑/扣减入口、直接调被拒
TC-C-25-P 能量/方案打卡 孩子 P1 权限 tests/test-cases/child.md#TC-C-25-P GrowthTaskService 1. 非本人方案任务 403 2. 他人进度不可见
TC-C-N01 任务打卡 孩子 P1 性能 tests/test-cases/child.md#TC-C-N01 TaskController 重复提交幂等;并发不重复计分;响应 ≤ 1s
TC-C-N02 消息通知 孩子 P2 性能 tests/test-cases/child.md#TC-C-N02 消息中心 列表渲染 ≤ 1.5s;标记已读即时
TC-C-N03 孩子端 孩子 P1 兼容 tests/test-cases/child.md#TC-C-N03 孩子端 功能一致;无错位;低龄设备流畅
TC-C-N04 只读报告 孩子 P2 兼容 tests/test-cases/child.md#TC-C-N04 报告前端 图表自适应;无溢出;可读
TC-C-N05 心愿 孩子 P1 安全 tests/test-cases/child.md#TC-C-N05 心愿鉴权 服务端校验归属;403/拒绝;孩子不可越权操作他人
TC-C-N06 消息通知 孩子 P2 安全 tests/test-cases/child.md#TC-C-N06 消息渲染 内容转义渲染;不执行脚本
TC-C-N07 孩子端 孩子 P0 安全 tests/test-cases/child.md#TC-C-N07 双角色铁律 一律 401/403;孩子端不可切回家长铁律生效
TC-X-01 规划师 P0 功能 已绑定家庭+孩子 B;募极生物 PDF tests/test-cases/cross-role-e2e.md#TC-X-01 - T-3 / P-10
TC-X-02 规划师 P0 功能 X-01 草稿 tests/test-cases/cross-role-e2e.md#TC-X-02 - T-4
TC-X-03 家长 P0 功能 孩子 B 有报告;已购会员 tests/test-cases/cross-role-e2e.md#TC-X-03 - P-13
TC-X-04 规划师 P0 功能 X-03 方案 generated tests/test-cases/cross-role-e2e.md#TC-X-04 - T-6 / T-7
TC-X-05 孩子 P0 功能 X-04 已生成方案任务 tests/test-cases/cross-role-e2e.md#TC-X-05 - C-7 / C-2
TC-X-06 规划师 P0 功能 X-05 已提交 tests/test-cases/cross-role-e2e.md#TC-X-06 - T-9 / P-06
TC-X-07 运营 P1 功能 以上步骤已执行 tests/test-cases/cross-role-e2e.md#TC-X-07 - A-02
TC-X-08 多角色 P0 异常 X-04 已 active 方案 tests/test-cases/cross-role-e2e.md#TC-X-08 - T-8 / P-09a / C-8
TC-X-09 多角色 P0 功能 家长已生成方案(generated) tests/test-cases/cross-role-e2e.md#TC-X-09 - P-44 / T-06 / T-07
TC-X-10 多角色 P2 功能 同一孩子多次上传同类型报告 tests/test-cases/cross-role-e2e.md#TC-X-10 - P-25 / T-21
TC-X-11 多角色 P1 功能 跨角色消息配置就绪 tests/test-cases/cross-role-e2e.md#TC-X-11 - P-65 / T-19 / C-15
TC-X-12 多角色 P1 功能 家长未购会员 tests/test-cases/cross-role-e2e.md#TC-X-12 - P-58 / P-16
TC-X-13 跨角色 P1 功能 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-13 - X-13
TC-X-14 跨角色 P1 功能 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-14 - X-14
TC-X-15 跨角色 P1 功能 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-15 - X-15
TC-X-16 跨角色 P0 功能 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-16 - X-16
TC-X-17 跨角色 P1 功能 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-17 - X-17
TC-X-18 跨角色 P1 功能 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-18 - X-18
TC-X-01-E 规划师 P2 异常 已绑定家庭+孩子 B;募极生物 PDF tests/test-cases/cross-role-e2e.md#TC-X-01-E - T-3 / P-10
TC-X-02-E 规划师 P2 异常 X-01 草稿 tests/test-cases/cross-role-e2e.md#TC-X-02-E - T-4
TC-X-03-E 家长 P2 异常 孩子 B 有报告;已购会员 tests/test-cases/cross-role-e2e.md#TC-X-03-E - P-13
TC-X-04-E 规划师 P2 异常 X-03 方案 generated tests/test-cases/cross-role-e2e.md#TC-X-04-E - T-6 / T-7
TC-X-05-E 孩子 P2 异常 X-04 已生成方案任务 tests/test-cases/cross-role-e2e.md#TC-X-05-E - C-7 / C-2
TC-X-06-E 规划师 P2 异常 X-05 已提交 tests/test-cases/cross-role-e2e.md#TC-X-06-E - T-9 / P-06
TC-X-07-E 运营 P2 异常 以上步骤已执行 tests/test-cases/cross-role-e2e.md#TC-X-07-E - A-02
TC-X-08-E 多角色 P2 异常 X-04 已 active 方案 tests/test-cases/cross-role-e2e.md#TC-X-08-E - T-8 / P-09a / C-8
TC-X-09-E 多角色 P2 异常 家长已生成方案(generated) tests/test-cases/cross-role-e2e.md#TC-X-09-E - P-44 / T-06 / T-07
TC-X-10-E 多角色 P3 异常 同一孩子多次上传同类型报告 tests/test-cases/cross-role-e2e.md#TC-X-10-E - P-25 / T-21
TC-X-11-E 多角色 P2 异常 跨角色消息配置就绪 tests/test-cases/cross-role-e2e.md#TC-X-11-E - P-65 / T-19 / C-15
TC-X-12-E 多角色 P2 异常 家长未购会员 tests/test-cases/cross-role-e2e.md#TC-X-12-E - P-58 / P-16
TC-X-13-E 跨角色 P2 异常 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-13-E - X-13
TC-X-14-E 跨角色 P2 异常 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-14-E - X-14
TC-X-15-E 跨角色 P2 异常 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-15-E - X-15
TC-X-16-E 跨角色 P1 异常 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-16-E - X-16
TC-X-17-E 跨角色 P2 异常 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-17-E - X-17
TC-X-18-E 跨角色 P2 异常 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-18-E - X-18
TC-X-01-P 规划师 P1 权限 已绑定家庭+孩子 B;募极生物 PDF tests/test-cases/cross-role-e2e.md#TC-X-01-P - T-3 / P-10
TC-X-02-P 规划师 P1 权限 X-01 草稿 tests/test-cases/cross-role-e2e.md#TC-X-02-P - T-4
TC-X-03-P 家长 P1 权限 孩子 B 有报告;已购会员 tests/test-cases/cross-role-e2e.md#TC-X-03-P - P-13
TC-X-04-P 规划师 P1 权限 X-03 方案 generated tests/test-cases/cross-role-e2e.md#TC-X-04-P - T-6 / T-7
TC-X-05-P 孩子 P1 权限 X-04 已生成方案任务 tests/test-cases/cross-role-e2e.md#TC-X-05-P - C-7 / C-2
TC-X-06-P 规划师 P1 权限 X-05 已提交 tests/test-cases/cross-role-e2e.md#TC-X-06-P - T-9 / P-06
TC-X-07-P 运营 P1 权限 以上步骤已执行 tests/test-cases/cross-role-e2e.md#TC-X-07-P - A-02
TC-X-08-P 多角色 P1 权限 X-04 已 active 方案 tests/test-cases/cross-role-e2e.md#TC-X-08-P - T-8 / P-09a / C-8
TC-X-09-P 多角色 P1 权限 家长已生成方案(generated) tests/test-cases/cross-role-e2e.md#TC-X-09-P - P-44 / T-06 / T-07
TC-X-10-P 多角色 P2 权限 同一孩子多次上传同类型报告 tests/test-cases/cross-role-e2e.md#TC-X-10-P - P-25 / T-21
TC-X-11-P 多角色 P1 权限 跨角色消息配置就绪 tests/test-cases/cross-role-e2e.md#TC-X-11-P - P-65 / T-19 / C-15
TC-X-12-P 多角色 P1 权限 家长未购会员 tests/test-cases/cross-role-e2e.md#TC-X-12-P - P-58 / P-16
TC-X-13-P 跨角色 P1 权限 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-13-P - X-13
TC-X-14-P 跨角色 P1 权限 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-14-P - X-14
TC-X-15-P 跨角色 P1 权限 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-15-P - X-15
TC-X-16-P 跨角色 P0 权限 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-16-P - X-16
TC-X-17-P 跨角色 P1 权限 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-17-P - X-17
TC-X-18-P 跨角色 P1 权限 已登录(默认 跨角色);相关前置数据就绪 tests/test-cases/cross-role-e2e.md#TC-X-18-P - X-18
TC-X-19 跨角色 P0 功能 家庭1(A+B+C)、绑定家庭 F2(T)、无关家庭 F9 tests/test-cases/cross-role-e2e.md#TC-X-19 - X-19
TC-X-20 跨角色 P0 功能 成员 B 混合来源流水(任务/打卡/心愿扣减/手动) tests/test-cases/cross-role-e2e.md#TC-X-20 - X-20
TC-X-21 跨角色 P0 功能 B 某维度当日未触顶;多触发同时到达 tests/test-cases/cross-role-e2e.md#TC-X-21 - X-21
TC-X-19-E 跨角色 P1 异常 家庭1 / F2 / F9 tests/test-cases/cross-role-e2e.md#TC-X-19-E - X-19
TC-X-20-E 跨角色 P1 异常 B 混合流水 + 造"不一致断点""负流水无对应" tests/test-cases/cross-role-e2e.md#TC-X-20-E - X-20
TC-X-21-E 跨角色 P1 异常 B 维度当日接近上限 tests/test-cases/cross-role-e2e.md#TC-X-21-E - X-21
TC-X-19-P 跨角色 P0 权限 家庭1 / F2 / F9 tests/test-cases/cross-role-e2e.md#TC-X-19-P - X-19
TC-X-20-P 跨角色 P1 权限 家庭1 + F9 tests/test-cases/cross-role-e2e.md#TC-X-20-P - X-20
TC-X-21-P 跨角色 P1 权限 家庭1 + F9 tests/test-cases/cross-role-e2e.md#TC-X-21-P - X-21
TC-X-N01 跨角色 P0 性能 多家庭并发(≥10 家庭) tests/test-cases/cross-role-e2e.md#TC-X-N01 - X-01
TC-X-N02 跨角色 P0 性能 多家庭同时生成方案 tests/test-cases/cross-role-e2e.md#TC-X-N02 - X-03
TC-X-N03 跨角色 P0 性能 活动名额 100,瞬时 500 请求 tests/test-cases/cross-role-e2e.md#TC-X-N03 - X-15
TC-X-N04 跨角色 P1 性能 全平台打卡高峰 tests/test-cases/cross-role-e2e.md#TC-X-N04 - X-05
TC-X-N05 跨角色 P0 安全 跨角色越权 tests/test-cases/cross-role-e2e.md#TC-X-N05 - X-01~X-06
TC-X-N06 跨角色 P0 安全 导出授权 tests/test-cases/cross-role-e2e.md#TC-X-N06 - X-17
TC-X-N07 跨角色 P1 兼容 iOS/Android/小程序/Web 同时在线 tests/test-cases/cross-role-e2e.md#TC-X-N07 - X-18
TC-X-N08 跨角色 P0 安全 文件上传链路 tests/test-cases/cross-role-e2e.md#TC-X-N08 - X-01
TC-DV-01 预约/权限 家长A vs 家长B P0 权限 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-01 F1 当前:返回 success 且 status=3(越权成功)→【缺陷 F1】;期望:403/拒绝
TC-DV-02 预约/状态机 规划师 P1 异常 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-02 F2 当前:status 置 1(非法回退)→【缺陷 F2】;期望:失败
TC-DV-03 预约/额度 家长 P0 功能 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-03 修正口径 返回「额度不足或已过期」;不建预约、不扣能量
TC-DV-04 预约/幂等 家长 P1 异常 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-04 F4 当前:2 条预约 + 20 能量 →【缺陷 F4】;期望:第 2 次拒绝/返回既有
TC-DV-05 预约/权限 非指派用户 P0 权限 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-05 既有 返回「您不是被指派的测评师」;status 不变
TC-DV-06 预约/校验 家长 P1 接口 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-06 既有 返回「assessorId或guideId必须提供一个」
TC-DV-07 列表/权限 非 teacher P2 权限 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-07 F5 返回「只有成长规划师可以查看此列表」;assessor-list 仅见自身
TC-DV-08 预约/校验 家长 P2 异常 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-08 F6 当前:无校验入库(F6);期望:400
TC-DV-09 预约/状态机 规划师 P1 功能 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-09 状态机 0→1→2 正确;能量 10+30 发放且流水一致
TC-DV-10 订单↔额度↔预约 家长 P0 功能 tests/test-cases/deep-dive-assessment-appointment.md#TC-DV-10 修正口径 额度扣减正确;额度为 0 时 create 失败
TC-PA-01 激活/拆任务 规划师 P0 功能 tests/test-cases/deep-dive-plan-activation.md#TC-PA-01 G1 status→active;生成 1 引导 + N 模板任务;能量/流水一致
TC-PA-02 激活/幂等 规划师 P0 异常 tests/test-cases/deep-dive-plan-activation.md#TC-PA-02 G1 抛「方案状态异常,需要先审核通过」
TC-PA-03 激活/并发幂等 规划师×2 P1 并发 tests/test-cases/deep-dive-plan-activation.md#TC-PA-03 G2 任务总数 = 1+ N(不翻倍);若翻倍→【缺陷 G2】
TC-PA-04 激活/取消 规划师 P1 功能 tests/test-cases/deep-dive-plan-activation.md#TC-PA-04 G3 旧任务 cancelled 不计入,重新生成 1+N 任务
TC-PA-05 拆任务/边界 规划师 P2 边界 tests/test-cases/deep-dive-plan-activation.md#TC-PA-05 G3 仅生成引导任务,无模板任务(文档化)
TC-PA-06 拆任务/数据 规划师 P2 数据 tests/test-cases/deep-dive-plan-activation.md#TC-PA-06 G4 非当天过期(待确认设计)
TC-G-01 启动/首页 游客 P1 功能 tests/test-cases/guest.md#TC-G-01 JwtInterceptor 拦截 `/api/** 显示引流首页,不进入任何业务页;明显展示微信/手机号/邀请登录入口
TC-G-02 认证 游客 P0 接口 tests/test-cases/guest.md#TC-G-02 AuthController/API_REFERENCE` 1.1 返回 Result 含 token+用户信息;角色默认 parent;跳转家长首页;首次登录建 User+family_members(memberType=login)
TC-G-03 认证 游客 P2 接口 tests/test-cases/guest.md#TC-G-03 统一 POST/JWT 验证码正确→登录下发 token;错误→提示失败且不产生会话;限流生效 ⚠ API 兼容保留:小程序端无入口(登录走 SC-G-02),2026-11-01 口径
TC-G-04 家庭/邀请 游客 P1 功能 tests/test-cases/guest.md#TC-G-04 FamilyInviteController 登录后自动归属对应家庭,成员列表出现该用户;令牌失效→「邀请已失效」
TC-G-05 权限 游客 P0 权限 tests/test-cases/guest.md#TC-G-05 JWT;8 公开路径白名单(1.1) 业务页→401 跳登录,登录后回跳;商城/文章列表可见(公开);需登录详情被拦截
TC-G-06 权限 游客 P0 权限 tests/test-cases/guest.md#TC-G-06 JwtInterceptor JwtInterceptor 拦截(8 个公开路径除外);缺 token→401/403,不泄露内部错误堆栈
TC-G-07 测试模式 游客 P2 功能 tests/test-cases/guest.md#TC-G-07 AGENTS.md 测试模式 仅测试环境生效;生产强制真授权;模拟登录不建真实微信绑定
TC-G-08 环境切换 游客 P2 功能 tests/test-cases/guest.md#TC-G-08 config.js 环境识别失败回退默认地址;接口地址正确
TC-G-09 认证 游客 P1 功能 tests/test-cases/guest.md#TC-G-09 AuthController 退出后本地缓存敏感数据清除;再次进入需登录
TC-G-10 注册 游客 P1 功能 tests/test-cases/guest.md#TC-G-10 AuthController 引导至注册;已注册账号不重复建档
TC-G-11 协议页/AgreementController 游客 P2 功能 tests/test-cases/guest.md#TC-G-11 协议页/AgreementController 达成目标:合规告知;边界:未同意不可进入注册/核心流程
TC-G-12 config.js 游客 P2 功能 tests/test-cases/guest.md#TC-G-12 config.js 达成目标:非微信浏览器打开小程序链接;边界:探测失败给出明确引导
TC-G-01-E 启动/首页 游客 P2 异常 tests/test-cases/guest.md#TC-G-01-E JwtInterceptor 拦截 `/api/** 1. 不白屏、提供"稍后"/手机号登录兜底 2. 超时给重试而非 500;不泄露内部堆栈
TC-G-02-E 认证 游客 P2 异常 tests/test-cases/guest.md#TC-G-02-E AuthController/API_REFERENCE` 1.1 1. 回退手机号登录、停留登录页不报错 2. 返回已有账号不重复建号 3. 超时提示重试、不建脏号
TC-G-03-E 认证 游客 P2 异常 tests/test-cases/guest.md#TC-G-03-E 统一 POST/JWT 1. 提示失败且不签发 token 2. 格式校验 400 拦截 3. 限流提示"操作频繁" 4. 绝不产生会话
TC-G-04-E 家庭/邀请 游客 P2 异常 tests/test-cases/guest.md#TC-G-04-E FamilyInviteController 1. 拒绝并提示"邀请已失效" 2. 按业务规则处理(加入或被拒)、不串家庭
TC-G-05-E 权限 游客 P2 异常 tests/test-cases/guest.md#TC-G-05-E JWT;8 公开路径白名单(1.1) 1. 统一 401 跳登录;登录后回跳 2. 重定向登录;仅 8 公开路径放行
TC-G-06-E 权限 游客 P1 异常 tests/test-cases/guest.md#TC-G-06-E JwtInterceptor 1. 统一 401/403、不泄露内部错误与结构 2. 公开路径正常返回、不误拦
TC-G-07-E 测试模式 游客 P3 异常 tests/test-cases/guest.md#TC-G-07-E AGENTS.md 测试模式 1. 生产强制真授权、模拟登录被拒 2. 测试模式仅测试环境生效、不污染生产数据
TC-G-08-E 环境切换 游客 P3 异常 tests/test-cases/guest.md#TC-G-08-E config.js 1. 回退默认 API 地址、功能可用 2. 不因识别失败崩溃/错连
TC-G-09-E 认证 游客 P2 异常 tests/test-cases/guest.md#TC-G-09-E AuthController 1. 退出后接口 401、需重登 2. 本地 token/隐私数据已清除
TC-G-10-E 注册 游客 P2 异常 tests/test-cases/guest.md#TC-G-10-E AuthController 1. 明确"未注册"并引导注册 2. 已注册不重复建档、直接登录
TC-G-11-E 协议页 游客 P2 异常 tests/test-cases/guest.md#TC-G-11-E 协议页/AgreementController 1. 拦截并强制先同意 2. 加载失败给重试、不绕过同意
TC-G-12-E config.js 游客 P2 异常 tests/test-cases/guest.md#TC-G-12-E config.js 1. 给出"在微信内打开"明确引导 2. 降级静态页、核心流程可手机号兜底
TC-G-01-P 启动/首页 游客 P1 权限 tests/test-cases/guest.md#TC-G-01-P JwtInterceptor 拦截 `/api/** 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-02-P 认证 游客 P1 权限 tests/test-cases/guest.md#TC-G-02-P AuthController/API_REFERENCE` 1.1 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-03-P 认证 游客 P1 权限 tests/test-cases/guest.md#TC-G-03-P 统一 POST/JWT 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-04-P 家庭/邀请 游客 P1 权限 tests/test-cases/guest.md#TC-G-04-P FamilyInviteController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-05-P 权限 游客 P1 权限 tests/test-cases/guest.md#TC-G-05-P JWT;8 公开路径白名单(1.1) 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-06-P 权限 游客 P1 权限 tests/test-cases/guest.md#TC-G-06-P JwtInterceptor 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-07-P 测试模式 游客 P2 权限 tests/test-cases/guest.md#TC-G-07-P AGENTS.md 测试模式 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-08-P 环境切换 游客 P2 权限 tests/test-cases/guest.md#TC-G-08-P config.js 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-09-P 认证 游客 P1 权限 tests/test-cases/guest.md#TC-G-09-P AuthController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-10-P 注册 游客 P1 权限 tests/test-cases/guest.md#TC-G-10-P AuthController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-G-11-P 协议页/AgreementController 游客 P2 权限 tests/test-cases/guest.md#TC-G-11-P 协议页/AgreementController 统一 401/403,不泄露内部错误与数据;8 个公开路径除外
TC-G-12-P config.js 游客 P2 权限 tests/test-cases/guest.md#TC-G-12-P config.js 统一 401/403,不泄露内部错误与数据;8 个公开路径除外
TC-G-N01 落地页 游客 P2 性能 tests/test-cases/guest.md#TC-G-N01 落地页/邀请 首屏 ≤ 3s;骨架屏生效;CDN 资源命中;无白屏
TC-G-N02 浏览转化 游客 P2 兼容 tests/test-cases/guest.md#TC-G-N02 登录注册(微信授权) 布局一致;微信授权正常;兜底登录可用;无错位
TC-G-N03 非微信H5 游客 P2 兼容 tests/test-cases/guest.md#TC-G-N03 H5 兜底 功能可用;无微信 SDK 依赖报错;流程闭环
TC-G-N04 落地页 游客 P0 安全 tests/test-cases/guest.md#TC-G-N04 接口鉴权 返回 401;不泄露数据与结构
TC-G-N05 登录注册 游客 P0 安全 tests/test-cases/guest.md#TC-G-N05 登录限流 触发限流/锁定;验证码一次性;防爆破;无撞库成功
TC-P-01 家庭 家长 P0 功能 tests/test-cases/parent.md#TC-P-01 FamilyInviteController 家庭创建成功;生成唯一邀请码+二维码(令牌+落地页);角色变家庭管理员
TC-P-02 家庭/成员 家长 P1 功能 tests/test-cases/parent.md#TC-P-02 FamilyInviteController C 加入家庭,成员列表出现 C
TC-P-03 成员资料 家长 P1 功能 tests/test-cases/parent.md#TC-P-03 FamilyMembersController 成员卡片正确显示;关系标签可选(RelationshipPicker)
TC-P-04 关系图 家长 P1 功能 tests/test-cases/parent.md#TC-P-04 关系类型 CRUD/前端选择器 关系图节点与关系标签同步更新
TC-P-05 任务 家长 P0 功能 tests/test-cases/parent.md#TC-P-05 TaskController 任务出现在 B 列表,状态待执行
TC-P-06 任务审核 家长 P0 功能 tests/test-cases/parent.md#TC-P-06 TaskController/PointsController 通过→B 积分+N 并生成流水;驳回→退回重做;重复提交不重复发分
TC-P-07 心愿 家长 P1 功能 tests/test-cases/parent.md#TC-P-07 WishController/RewardController 通过→扣积分进入兑换;驳回→心愿失效;积分不足兑换拦截
TC-P-08 能量 家长 P1 功能 tests/test-cases/parent.md#TC-P-08 EnergyController 显示家庭健康指数与五维能量分配(总和=100%);流水可追溯;无数据时空态非 500
TC-P-09 测评订单 家长 P0 功能 tests/test-cases/parent.md#TC-P-09 AssessmentAppointmentController 生成测评订单;状态 已支付→待安排→已预约;未支付/未选规划师不进入待安排
TC-P-10 健康报告 家长 P0 功能 tests/test-cases/parent.md#TC-P-10 健康报告上传解析 识别为 gut_flora;三阶段上传→解析预览→确认入库;非募极报告提示「请确认是募极生物肠道菌群报告」
TC-P-11 报告查看 家长 P1 功能 tests/test-cases/parent.md#TC-P-11 报告解析 显示菌群健康分/平衡/多样性、菌种明细、疾病风险;七维评分刷新
TC-P-12 饮食推荐 家长 P1 功能 tests/test-cases/parent.md#TC-P-12 饮食推荐系统 按报告生成食材推荐指数,展示可吃/慎吃列表;无报告时无推荐
TC-P-13 AI 方案 家长 P0 功能 tests/test-cases/parent.md#TC-P-13 AI 统一走 LangGraph;`AiGateway 生成 overview+营养/饮食/运动三板块;可逐板块重生成/确认;未购买会员→提示购买
TC-P-14 方案提交 家长 P1 功能 tests/test-cases/parent.md#TC-P-14 方案状态机 进入「已提交(待规划师审核)」或按配置直接发布
TC-P-15 双角色 家长 P0 权限 tests/test-cases/parent.md#TC-P-15 POST /api/family/member/switch`(替代废弃 switch-mode);双角色铁律 切换为孩子端界面(数据隔离);切回需密码;孩子端不能切回家长
TC-P-16 会员 家长 P1 功能 tests/test-cases/parent.md#TC-P-16 MembershipController/ProductOrderController 支付成功解锁方案生成等付费功能;未购买点击生成提示购买
TC-P-17 积分/成长 家长 P1 功能 tests/test-cases/parent.md#TC-P-17 PointsController/GrowthController 积分流水与孩子成长记录一致;时间格式 yyyy-MM-dd HH:mm:ss;积分与流水总额一致
TC-P-18 AI 对话 家长 P1 功能 tests/test-cases/parent.md#TC-P-18 AIChatController`;LangGraph RAG 返回基于知识库回答,可含产品/任务推荐;LangGraph 不可用时 AiGateway Fallback 兜底;多轮连续
TC-P-19 能量配置 家长 P2 功能 tests/test-cases/parent.md#TC-P-19 维度配置 显示身/心/智/行/富口径与权重;配置未同步展示兜底说明
TC-P-20 健康报告 家长 P0 功能 tests/test-cases/parent.md#TC-P-20 报告解析中台/`POST /api/media/upload 识别 gut_flora;解析预览→确认入库;非募极报告提示「请确认是募极生物肠道菌群报告」
TC-P-21 报告解析 家长 P1 功能 tests/test-cases/parent.md#TC-P-21 /api/admin/report-parser/types 匹配已注册类型;未知类型进未知聚类待运营自学习
TC-P-22 报告预览 家长 P1 功能 tests/test-cases/parent.md#TC-P-22 解析中台 预览数据完整;异常数据提示不入库
TC-P-23 报告入库 家长 P1 功能 tests/test-cases/parent.md#TC-P-23 解析中台 确认前可取消不入库;确认后七维刷新
TC-P-24 报告管理 家长 P1 功能 tests/test-cases/parent.md#TC-P-24 报告管理 删除有关联方案时提示;对比展示差异
TC-P-25 报告趋势 家长 P1 功能 tests/test-cases/parent.md#TC-P-25 成长/报告 单报告无趋势提示;时间轴正确
TC-P-26 饮食推荐 家长 P1 功能 tests/test-cases/parent.md#TC-P-26 饮食推荐系统 按菌群生成;无报告无推荐
TC-P-27 家庭食谱 家长 P1 功能 tests/test-cases/parent.md#TC-P-27 饮食推荐/家庭食谱 无报告降级通用食谱;忌口/过敏自动排除
TC-P-28 食谱筛选 家长 P2 功能 tests/test-cases/parent.md#TC-P-28 饮食推荐 忌口冲突时提示;重算生效
TC-P-29 食谱收藏 家长 P2 功能 tests/test-cases/parent.md#TC-P-29 饮食推荐 调整不破坏营养目标;收藏持久化
TC-P-30 食谱营养 家长 P2 功能 tests/test-cases/parent.md#TC-P-30 饮食推荐 超标/不足提示
TC-P-31 测评类型 家长 P1 功能 tests/test-cases/parent.md#TC-P-31 DanAssessmentController 类目来自后端字典;展示完整 8 类
TC-P-32 测评规划师 家长 P1 功能 tests/test-cases/parent.md#TC-P-32 测评订单 未绑定规划师提示先绑定
TC-P-33 测评下单 家长 P1 功能 tests/test-cases/parent.md#TC-P-33 AssessmentOrder 套餐下架不可下单;生成待支付订单
TC-P-34 测评支付 家长 P1 接口 tests/test-cases/parent.md#TC-P-34 支付/`AssessmentQuota 支付失败回滚不生成额度
TC-P-35 测评额度 家长 P1 功能 tests/test-cases/parent.md#TC-P-35 AssessmentQuota 额度过期不可用于预约;展示有效期
TC-P-36 测评预约 家长 P0 接口 tests/test-cases/parent.md#TC-P-36 AssessmentAppointmentController 先扣一条额度→落预约;额度不足/过期直接报错不落预约
TC-P-37 预约状态 家长 P1 功能 tests/test-cases/parent.md#TC-P-37 AssessmentAppointmentController 状态准确;状态机守卫
TC-P-38 预约取消 家长 P0 权限 tests/test-cases/parent.md#TC-P-38 AssessmentAppointmentController 非归属取消被拒(CFC-AP 取消越权);取消不退款逻辑
TC-P-39 DAN报告 家长 P1 功能 tests/test-cases/parent.md#TC-P-39 DanAssessmentResultDTO 结果未录入不展示;量纲标注
TC-P-40 AI方案 家长 P0 功能 tests/test-cases/parent.md#TC-P-40 AIChatController/AiGateway 未购会员提示购买;AI 超时 AiGateway Fallback 不 500
TC-P-41 方案迭代 家长 P1 功能 tests/test-cases/parent.md#TC-P-41 AIChatController 重生成不丢其他板块
TC-P-42 方案编辑 家长 P1 功能 tests/test-cases/parent.md#TC-P-42 方案管理 编辑后状态标记已改
TC-P-43 方案查看 家长 P1 功能 tests/test-cases/parent.md#TC-P-43 方案管理 空方案不白屏
TC-P-44 方案确认 家长 P0 功能 tests/test-cases/parent.md#TC-P-44 方案状态机 未确认不可激活;确认幂等
TC-P-45 方案发布 家长 P1 功能 tests/test-cases/parent.md#TC-P-45 方案管理 需审核配置时走审核流
TC-P-46 方案激活 家长 P0 功能 tests/test-cases/parent.md#TC-P-46 方案激活任务分解 已激活再激活不重复(幂等靠状态机);失败回滚不残半任务
TC-P-47 方案任务 家长 P1 功能 tests/test-cases/parent.md#TC-P-47 GrowthPlanController 任务增删与方案同步
TC-P-48 方案版本 家长 P2 功能 tests/test-cases/parent.md#TC-P-48 方案管理 版本不可篡改
TC-P-49 AI对话 家长 P1 功能 tests/test-cases/parent.md#TC-P-49 AIChatController 基于知识库回答;LangGraph 不可用 Fallback;多轮连续
TC-P-50 成长记录 家长 P1 功能 tests/test-cases/parent.md#TC-P-50 GrowthController 数据缺失项跳过不报错
TC-P-51 成长里程碑 家长 P2 功能 tests/test-cases/parent.md#TC-P-51 GrowthController 重复标幂等
TC-P-52 商城浏览 家长 P1 功能 tests/test-cases/parent.md#TC-P-52 MallController/danshop 下架商品不展示
TC-P-53 商品详情 家长 P1 功能 tests/test-cases/parent.md#TC-P-53 MallController 库存为 0 提示
TC-P-54 商城下单 家长 P1 功能 tests/test-cases/parent.md#TC-P-54 MallController 库存不足拦截;重复下单幂等
TC-P-55 订单支付 家长 P1 接口 tests/test-cases/parent.md#TC-P-55 支付 支付失败回滚
TC-P-56 订单退款 家长 P1 功能 tests/test-cases/parent.md#TC-P-56 订单服务 已发货退款规则;重复退款拦截
TC-P-57 优惠券 家长 P1 功能 tests/test-cases/parent.md#TC-P-57 优惠券 券过期/不满足门槛不可用
TC-P-58 会员购买 家长 P1 功能 tests/test-cases/parent.md#TC-P-58 MemberController 支付失败回滚;重复购买幂等
TC-P-59 会员权益 家长 P1 功能 tests/test-cases/parent.md#TC-P-59 MemberController 权益随档位变化
TC-P-60 会员续费 家长 P2 功能 tests/test-cases/parent.md#TC-P-60 MemberController 续费叠加计算正确
TC-P-61 联系人 家长 P1 功能 tests/test-cases/parent.md#TC-P-61 ContactCard/contact-detail 重复号码去重
TC-P-62 联系人导入 家长 P2 功能 tests/test-cases/parent.md#TC-P-62 ContactImport 导入格式错误行跳过并报告
TC-P-63 联系人权限 家长 P1 权限 tests/test-cases/parent.md#TC-P-63 ContactCard 越权查看被拒
TC-P-64 个人资料 家长 P1 功能 tests/test-cases/parent.md#TC-P-64 AuthController 手机格式校验;保存生效
TC-P-65 通知设置 家长 P2 功能 tests/test-cases/parent.md#TC-P-65 消息服务 关闭后仍保关键安全通知
TC-P-66 隐私设置 家长 P2 功能 tests/test-cases/parent.md#TC-P-66 隐私设置 最小权限保底
TC-P-67 报告代传/report-proxy 家长 P0 功能 tests/test-cases/parent.md#TC-P-67 报告代传/report-proxy 达成目标:无报告原件时由他人代传;边界:代传需授权令牌;越权代传他人孩子被拒;代传报告归属校验
TC-P-68 家庭天盘 家长 P1 功能 tests/test-cases/parent.md#TC-P-68 家庭天盘 达成目标:一眼看全家健康/能量;边界:数据缺失降级展示;仅本家庭成员可见
TC-P-69 精准营养 家长 P1 功能 tests/test-cases/parent.md#TC-P-69 精准营养 达成目标:设定每日营养/热量目标;边界:目标非法(负/超上限)拦截
TC-P-70 舌诊情绪识别 家长 P1 功能 tests/test-cases/parent.md#TC-P-70 舌诊情绪识别 达成目标:上传舌苔照辅助评估;边界:非照片/模糊拒绝;隐私标注不外露
TC-P-71 AuthController 家长 P1 功能 tests/test-cases/parent.md#TC-P-71 AuthController 达成目标:注销账号;边界:有进行中订单/未结清拦截;注销后不可登录
TC-P-72 数据导出(GDPR) 家长 P1 功能 tests/test-cases/parent.md#TC-P-72 数据导出(GDPR) 达成目标:下载本人数据;边界:敏感字段脱敏;频次限制;越权导出被拒
TC-P-73 家庭/成员 家长 P1 功能 tests/test-cases/parent.md#TC-P-73 家庭/成员 达成目标:多孩子家庭切换;边界:仅本家庭孩子可选;当前孩子态隔离
TC-P-74 规划师绑定 家长 P1 功能 tests/test-cases/parent.md#TC-P-74 规划师绑定 达成目标:更换服务规划师;边界:解绑前处理在途方案/预约;非本家庭规划师拒
TC-P-75 优惠券 家长 P1 功能 tests/test-cases/parent.md#TC-P-75 优惠券 达成目标:得券;边界:库存为0/已领拦截;重复领幂等
TC-P-76 活动管理 家长 P0 功能 tests/test-cases/parent.md#TC-P-76 活动管理 达成目标:报名平台活动;边界:并发超卖拦截(CFC 真实 bug 已修);名额满拒;重复报名幂等
TC-P-77 活动 家长 P1 功能 tests/test-cases/parent.md#TC-P-77 活动 达成目标:参与打卡/裂变;边界:重复打卡幂等;刷量/机器行为拦截
TC-P-78 消息服务 家长 P1 功能 tests/test-cases/parent.md#TC-P-78 消息服务 达成目标:看系统/任务/方案提醒;边界:越权消息不可见;分页
TC-P-79 消息服务 家长 P1 功能 tests/test-cases/parent.md#TC-P-79 消息服务 达成目标:控制接收;边界:关键安全通知不可关闭
TC-P-80 会员/订单 家长 P1 功能 tests/test-cases/parent.md#TC-P-80 会员/订单 达成目标:退会员/开发票;边界:已消费不退;重复退拦截;发票信息校验
TC-P-81 方案/任务 家长 P1 功能 tests/test-cases/parent.md#TC-P-81 方案/任务 达成目标:暂存未完;边界:草稿有效期;恢复冲突提示
TC-P-82 搜索 家长 P1 功能 tests/test-cases/parent.md#TC-P-82 搜索 达成目标:快速定位;边界:越权结果过滤;空结果不报错
TC-P-83 客服 家长 P1 功能 tests/test-cases/parent.md#TC-P-83 客服 达成目标:提反馈;边界:敏感信息脱敏;附件大小限制
TC-P-84 分享 家长 P1 功能 tests/test-cases/parent.md#TC-P-84 分享 达成目标:共享;边界:链接失效/权限校验;越权分享被拒
TC-P-85 AuthController 家长 P1 功能 tests/test-cases/parent.md#TC-P-85 AuthController 达成目标:同账号多设备;边界:异常设备风控;退出清 token
TC-P-86 勋章/排行 家长 P1 功能 tests/test-cases/parent.md#TC-P-86 勋章/排行 达成目标:激励;边界:数据仅本家庭可见;排名实时性
TC-P-01-E 家庭 家长 P2 异常 tests/test-cases/parent.md#TC-P-01-E FamilyInviteController 名称空或超长返回 400 且 message 含『家庭名称』校验项;HTML/SQL 注入被转义,库内不落恶意串;不抛 500、不泄露堆栈
TC-P-02-E 家庭/成员 家长 P2 异常 tests/test-cases/parent.md#TC-P-02-E FamilyInviteController 非法手机号 400 提示格式;已占用账号提示『已存在家庭关系』;过期码提示『邀请已失效,请重新获取』;均不建立成员关系
TC-P-03-E 成员资料 家长 P2 异常 tests/test-cases/parent.md#TC-P-03-E FamilyMembersController 未来生日 400;关系非法值拒绝;姓名特殊字符转义存储、不破坏查询;既有成员数据不被污染
TC-P-04-E 关系图 家长 P2 异常 tests/test-cases/parent.md#TC-P-04-E 关系类型 CRUD/前端选择器 重复关系提示已存在、不新增节点;非法枚举 400;关系图不出现重复/幽灵节点
TC-P-05-E 任务 家长 P2 异常 tests/test-cases/parent.md#TC-P-05-E TaskController 频率非法 400;并发双发幂等,仅生成 1 条任务、仅 1 次能量预期;超期任务拒绝提交
TC-P-06-E 任务审核 家长 P2 异常 tests/test-cases/parent.md#TC-P-06-E TaskController/PointsController 重复审批幂等不双计积分;驳回→重做→再审批仅在重做后计 1 次;超期任务审批被拒
TC-P-07-E 心愿 家长 P2 异常 tests/test-cases/parent.md#TC-P-07-E WishController/RewardController 余额不足拦截且不扣负积分;已取消心愿兑换提示失效;并发幂等仅扣 1 次
TC-P-08-E 能量 家长 P2 异常 tests/test-cases/parent.md#TC-P-08-E EnergyController 查询超时降级为空态提示非 500;权重为 0 时占比按兜底(0%)显示不崩;首访空态正常
TC-P-09-E 测评订单 家长 P2 异常 tests/test-cases/parent.md#TC-P-09-E AssessmentAppointmentController 回调验签失败订单保持 pending 不进待安排;余额不足回滚;重复回调幂等仅落 1 次已支付
TC-P-10-E 健康报告 家长 P2 异常 tests/test-cases/parent.md#TC-P-10-E 健康报告上传解析 损坏文件识别失败进未知聚类并提示;非募极明确提示『请确认是募极生物肠道菌群报告』;超大/加密提示超限或密码保护,均非 500
TC-P-11-E 报告查看 家长 P2 异常 tests/test-cases/parent.md#TC-P-11-E 报告解析 不存在/已删返回 404 提示『报告不存在』;解析中提示『报告解析中,请稍候』,不白屏不 500
TC-P-12-E 饮食推荐 家长 P2 异常 tests/test-cases/parent.md#TC-P-12-E 饮食推荐系统 AiGateway Fallback 返回兜底食材清单+友好提示非 500;重复点击幂等仅生成 1 份、不重复扣费
TC-P-13-E AI 方案 家长 P2 异常 tests/test-cases/parent.md#TC-P-13-E AI 统一走 LangGraph;`AiGateway Fallback 兜底方案+提示;未购会员请求付费板块返回『请先开通会员』拦截,不白生成
TC-P-14-E 方案提交 家长 P2 异常 tests/test-cases/parent.md#TC-P-14-E 方案状态机 空方案提交拦截提示『方案未生成』;重复提交幂等不重复进审核
TC-P-15-E 双角色 家长 P2 异常 tests/test-cases/parent.md#TC-P-15-E POST /api/family/member/switch`(替代废弃 switch-mode);双角色铁律 缺失/过期 token 统一 401 跳登录;孩子端无切回家长入口;非法切换 403 被拒;模拟登录仅测试环境生效
TC-P-16-E 会员 家长 P2 异常 tests/test-cases/parent.md#TC-P-16-E MembershipController/ProductOrderController 支付超时订单回滚不解锁权益;重复购买幂等仅开通 1 次、不重复扣费
TC-P-17-E 积分/成长 家长 P2 异常 tests/test-cases/parent.md#TC-P-17-E PointsController/GrowthController 并发刷新总量一致不重复计;关联任务已删时该成长项跳过不报错,时间格式 yyyy-MM-dd HH:mm:ss
TC-P-18-E AI 对话 家长 P2 异常 tests/test-cases/parent.md#TC-P-18-E AIChatController`;LangGraph RAG 超长消息 400 提示;敏感词按合规拦截;LangGraph 不可用 Fallback 兜底回答,多轮上下文不丢
TC-P-19-E 能量配置 家长 P3 异常 tests/test-cases/parent.md#TC-P-19-E 维度配置 配置缺失展示兜底说明非 500;权重和非法 400 提示『权重合计需为 100%』
TC-P-20-E 健康报告 家长 P2 异常 tests/test-cases/parent.md#TC-P-20-E 报告解析中台/`POST /api/media/upload 损坏文件识别失败进未知聚类并提示;非募极明确提示『请确认是募极生物肠道菌群报告』;超大/加密提示超限或密码保护,均非 500
TC-P-21-E 报告解析 家长 P2 异常 tests/test-cases/parent.md#TC-P-21-E /api/admin/report-parser/types 未注册类型进未知聚类待运营自学习;0 字节文件提示『文件为空』;均非 500
TC-P-22-E 报告预览 家长 P2 异常 tests/test-cases/parent.md#TC-P-22-E 解析中台 异常值提示『数据异常,暂不入库』不入库;超时提示解析中,不白屏
TC-P-23-E 报告入库 家长 P2 异常 tests/test-cases/parent.md#TC-P-23-E 解析中台 报告已删提示『报告不存在,确认失败』;并发确认幂等仅入库 1 次、七维仅刷新 1 次
TC-P-24-E 报告管理 家长 P2 异常 tests/test-cases/parent.md#TC-P-24-E 报告管理 有方案时提示『请先解除关联方案』再删;不存在 id 返回 404 不崩
TC-P-25-E 报告趋势 家长 P2 异常 tests/test-cases/parent.md#TC-P-25-E 成长/报告 单报告提示『至少需要 2 份报告才能看趋势』;时间轴按真实时间升序,不倒挂
TC-P-26-E 饮食推荐 家长 P2 异常 tests/test-cases/parent.md#TC-P-26-E 饮食推荐系统 AiGateway Fallback 返回兜底食材清单+友好提示非 500;重复点击幂等仅生成 1 份、不重复扣费
TC-P-27-E 家庭食谱 家长 P2 异常 tests/test-cases/parent.md#TC-P-27-E 饮食推荐/家庭食谱 超时 Fallback 通用食谱+提示;过敏食材未排除时返回 400 提示『存在过敏冲突』重算
TC-P-28-E 食谱筛选 家长 P3 异常 tests/test-cases/parent.md#TC-P-28-E 饮食推荐 忌口冲突提示并停止生成;非法忌口值 400;重算生效
TC-P-29-E 食谱收藏 家长 P3 异常 tests/test-cases/parent.md#TC-P-29-E 饮食推荐 替换后提示『超出营养目标』不静默;重复收藏幂等仅 1 条
TC-P-30-E 食谱营养 家长 P3 异常 tests/test-cases/parent.md#TC-P-30-E 饮食推荐 超标明确标红提示『超出目标 X%』;未设目标提示先设目标,不除零
TC-P-31-E 测评类型 家长 P2 异常 tests/test-cases/parent.md#TC-P-31-E DanAssessmentController 字典缺失时前端降级不白屏;非法 type 400;八类以字典为准
TC-P-32-E 测评规划师 家长 P2 异常 tests/test-cases/parent.md#TC-P-32-E 测评订单 未绑定提示『请先绑定规划师』;已解绑 T 不在可选列表,选则 400
TC-P-33-E 测评下单 家长 P2 异常 tests/test-cases/parent.md#TC-P-33-E AssessmentOrder 下架套餐 400『套餐不可售』;数量非法/库存不足拦截,不生成订单
TC-P-34-E 测评支付 家长 P2 异常 tests/test-cases/parent.md#TC-P-34-E 支付/`AssessmentQuota 超时回滚不生成额度;重复回调幂等仅生成 1 条额度
TC-P-35-E 测评额度 家长 P2 异常 tests/test-cases/parent.md#TC-P-35-E AssessmentQuota 过期额度预约返回『额度已过期』不落预约;额度页加载降级非 500
TC-P-36-E 测评预约 家长 P2 异常 tests/test-cases/parent.md#TC-P-36-E AssessmentAppointmentController 无额度返回『额度不足或已过期』不建预约不发能量;并发双发仅落 1 条预约、能量仅发 1 次(幂等)
TC-P-37-E 预约状态 家长 P2 异常 tests/test-cases/parent.md#TC-P-37-E AssessmentAppointmentController 状态机守卫拒绝非法跃迁返回 400;不存在预约 404;状态准确
TC-P-38-E 预约取消 家长 P2 异常 tests/test-cases/parent.md#TC-P-38-E AssessmentAppointmentController 越权取消 403 被拒(CFC-AP);终态预约取消返回『不可取消』;不退款逻辑按配置
TC-P-39-E DAN报告 家长 P2 异常 tests/test-cases/parent.md#TC-P-39-E DanAssessmentResultDTO 未录入提示『结果待录入』不白屏;缺字段校验 400 提示缺哪项
TC-P-40-E AI方案 家长 P2 异常 tests/test-cases/parent.md#TC-P-40-E AIChatController/AiGateway Fallback 兜底方案+提示;未购会员请求付费板块返回『请先开通会员』拦截,不白生成
TC-P-41-E 方案迭代 家长 P2 异常 tests/test-cases/parent.md#TC-P-41-E AIChatController 断网 Fallback 保留其他板块不丢;连续点击幂等仅 1 次重生成
TC-P-42-E 方案编辑 家长 P2 异常 tests/test-cases/parent.md#TC-P-42-E 方案管理 超长 400 提示;越权编辑 403 被拒;编辑后状态标记已改
TC-P-43-E 方案查看 家长 P2 异常 tests/test-cases/parent.md#TC-P-43-E 方案管理 空方案展示占位不白屏;不存在 404
TC-P-44-E 方案确认 家长 P2 异常 tests/test-cases/parent.md#TC-P-44-E 方案状态机 未确认激活拦截『请先确认』;重复确认幂等仅 1 次 reviewed
TC-P-45-E 方案发布 家长 P2 异常 tests/test-cases/parent.md#TC-P-45-E 方案管理 需审核配置时发布走审核流不直接 active;未 reviewed 发布拦截
TC-P-46-E 方案激活 家长 P2 异常 tests/test-cases/parent.md#TC-P-46-E 方案激活任务分解 已激活再激活幂等不重复生成任务;超时回滚不残半任务,状态回 reviewed
TC-P-47-E 方案任务 家长 P2 异常 tests/test-cases/parent.md#TC-P-47-E GrowthPlanController 删任务同步方案并提示;非法 id 400;任务增删与方案一致
TC-P-48-E 方案版本 家长 P3 异常 tests/test-cases/parent.md#TC-P-48-E 方案管理 历史版本只读返回 403『版本不可篡改』;不存在 404
TC-P-49-E AI对话 家长 P2 异常 tests/test-cases/parent.md#TC-P-49-E AIChatController 超长消息 400 提示;敏感词按合规拦截;LangGraph 不可用 Fallback 兜底回答,多轮上下文不丢
TC-P-50-E 成长记录 家长 P2 异常 tests/test-cases/parent.md#TC-P-50-E GrowthController 关联已删项跳过不报错;首访空态正常,时间线不白屏
TC-P-51-E 成长里程碑 家长 P3 异常 tests/test-cases/parent.md#TC-P-51-E GrowthController 重复标幂等仅 1 条;非法节点 400
TC-P-52-E 商城浏览 家长 P2 异常 tests/test-cases/parent.md#TC-P-52-E MallController/danshop 注入被转义返回安全结果;下架商品不展示;不 500
TC-P-53-E 商品详情 家长 P2 异常 tests/test-cases/parent.md#TC-P-53-E MallController 库存 0 提示『暂时缺货』;不存在 404
TC-P-54-E 商城下单 家长 P2 异常 tests/test-cases/parent.md#TC-P-54-E MallController 超库存拦截『库存不足』;重复提交幂等仅 1 单
TC-P-55-E 订单支付 家长 P2 异常 tests/test-cases/parent.md#TC-P-55-E 支付 超时回滚订单保持待支付;重复通知幂等仅 1 次 paid
TC-P-56-E 订单退款 家长 P2 异常 tests/test-cases/parent.md#TC-P-56-E 订单服务 已发货按规则处理/拒;重复退款拦截仅 1 次
TC-P-57-E 优惠券 家长 P2 异常 tests/test-cases/parent.md#TC-P-57-E 优惠券 过期券不可用提示;未达门槛拦截『还差 X 元可用』;不重复抵扣
TC-P-58-E 会员购买 家长 P2 异常 tests/test-cases/parent.md#TC-P-58-E MemberController 失败回滚不解锁;重复购买幂等仅 1 次、不双扣
TC-P-59-E 会员权益 家长 P2 异常 tests/test-cases/parent.md#TC-P-59-E MemberController 过期提示『会员已失效』;越权 403;权益随档位
TC-P-60-E 会员续费 家长 P3 异常 tests/test-cases/parent.md#TC-P-60-E MemberController 未到期续费叠加计算正确(延期);负金额 400
TC-P-61-E 联系人 家长 P2 异常 tests/test-cases/parent.md#TC-P-61-E ContactCard/contact-detail 重复号码去重提示;非法格式 400;不建重复
TC-P-62-E 联系人导入 家长 P3 异常 tests/test-cases/parent.md#TC-P-62-E ContactImport 错误行跳过并报告『第 N 行格式错误』;非 CSV 拒绝;正确行入库
TC-P-63-E 联系人权限 家长 P2 异常 tests/test-cases/parent.md#TC-P-63-E ContactCard 越权查看 403;非法权限值 400;最小权限保底
TC-P-64-E 个人资料 家长 P2 异常 tests/test-cases/parent.md#TC-P-64-E AuthController 手机格式 400;昵称超长/非法字符拦截;保存生效
TC-P-65-E 通知设置 家长 P3 异常 tests/test-cases/parent.md#TC-P-65-E 消息服务 关键安全通知仍推送不被关;非法时间 400
TC-P-66-E 隐私设置 家长 P3 异常 tests/test-cases/parent.md#TC-P-66-E 隐私设置 非法范围 400;敏感字段最小权限保底不外露
TC-P-67-E 报告代传/report-proxy 家长 P1 异常 tests/test-cases/parent.md#TC-P-67-E 报告代传/report-proxy 越权代传他人孩子 403 被拒;报告归属校验失败不入档;授权令牌失效提示
TC-P-68-E 家庭天盘 家长 P2 异常 tests/test-cases/parent.md#TC-P-68-E 家庭天盘 缺失项降级展示不白屏;非成员访问 403;仅本家庭可见
TC-P-69-E 精准营养 家长 P2 异常 tests/test-cases/parent.md#TC-P-69-E 精准营养 负/超上限 400『热量需在合理区间』;非数字 400;目标生效影响食谱
TC-P-70-E 舌诊情绪识别 家长 P2 异常 tests/test-cases/parent.md#TC-P-70-E 舌诊情绪识别 非照片/模糊拒绝提示『请上传清晰舌苔照』;低置信度提示『识别不清晰,建议重拍』;隐私标注不外露
TC-P-71-E AuthController 家长 P2 异常 tests/test-cases/parent.md#TC-P-71-E AuthController 有在途订单拦截『请先处理进行中订单』;注销后 token 失效 401 不可登录
TC-P-72-E 数据导出(GDPR) 家长 P2 异常 tests/test-cases/parent.md#TC-P-72-E 数据导出(GDPR) 越权导出 403;频次限制提示『导出过于频繁』;敏感字段脱敏
TC-P-73-E 家庭/成员 家长 P2 异常 tests/test-cases/parent.md#TC-P-73-E 家庭/成员 非本家庭孩子不可选 400;切换保持各孩子上下文隔离不串
TC-P-74-E 规划师绑定 家长 P2 异常 tests/test-cases/parent.md#TC-P-74-E 规划师绑定 在途未完成提示『请先处理在途服务』;非本家庭 T 绑定 400 被拒
TC-P-75-E 优惠券 家长 P2 异常 tests/test-cases/parent.md#TC-P-75-E 优惠券 库存 0 提示『已领完』;重复领幂等仅入卡包 1 张
TC-P-76-E 活动管理 家长 P1 异常 tests/test-cases/parent.md#TC-P-76-E 活动管理 并发超卖拦截仅 1 人成功(CFC 已修 bug 回归);满额拒『名额已满』;重复报名幂等
TC-P-77-E 活动 家长 P2 异常 tests/test-cases/parent.md#TC-P-77-E 活动 重复打卡幂等仅计 1 次;刷量风控拦截;进度累计正确
TC-P-78-E 消息服务 家长 P2 异常 tests/test-cases/parent.md#TC-P-78-E 消息服务 越权消息不可见 403;不存在 404;分页正常
TC-P-79-E 消息服务 家长 P2 异常 tests/test-cases/parent.md#TC-P-79-E 消息服务 关键安全通知不可关;非法时间 400
TC-P-80-E 会员/订单 家长 P2 异常 tests/test-cases/parent.md#TC-P-80-E 会员/订单 已消费不退提示;重复退拦截;发票信息校验缺失字段 400
TC-P-81-E 方案/任务 家长 P2 异常 tests/test-cases/parent.md#TC-P-81-E 方案/任务 过期草稿提示『草稿已失效』;并发存后者覆盖且提示冲突
TC-P-82-E 搜索 家长 P2 异常 tests/test-cases/parent.md#TC-P-82-E 搜索 越权结果过滤不可见;空结果不报错提示『请输入关键词』
TC-P-83-E 客服 家长 P2 异常 tests/test-cases/parent.md#TC-P-83-E 客服 敏感信息脱敏存储;附件超限 400『附件不超过 10MB』
TC-P-84-E 分享 家长 P2 异常 tests/test-cases/parent.md#TC-P-84-E 分享 失效链接提示『分享已失效』;越权分享 403 被拒
TC-P-85-E AuthController 家长 P2 异常 tests/test-cases/parent.md#TC-P-85-E AuthController 异常设备二次验证/拦截;退出后旧 token 失效 401
TC-P-86-E 勋章/排行 家长 P2 异常 tests/test-cases/parent.md#TC-P-86-E 勋章/排行 非本家庭榜不可见 403;排名仅本家庭数据,刷新即更新
TC-P-01-P 家庭 家长 P1 权限 tests/test-cases/parent.md#TC-P-01-P FamilyInviteController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-02-P 家庭/成员 家长 P1 权限 tests/test-cases/parent.md#TC-P-02-P FamilyInviteController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-03-P 成员资料 家长 P1 权限 tests/test-cases/parent.md#TC-P-03-P FamilyMembersController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-04-P 关系图 家长 P1 权限 tests/test-cases/parent.md#TC-P-04-P 关系类型 CRUD/前端选择器 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-05-P 任务 家长 P1 权限 tests/test-cases/parent.md#TC-P-05-P TaskController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-06-P 任务审核 家长 P1 权限 tests/test-cases/parent.md#TC-P-06-P TaskController/PointsController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-07-P 心愿 家长 P1 权限 tests/test-cases/parent.md#TC-P-07-P WishController/RewardController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-08-P 能量 家长 P1 权限 tests/test-cases/parent.md#TC-P-08-P EnergyController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-09-P 测评订单 家长 P1 权限 tests/test-cases/parent.md#TC-P-09-P AssessmentAppointmentController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-10-P 健康报告 家长 P1 权限 tests/test-cases/parent.md#TC-P-10-P 健康报告上传解析 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-11-P 报告查看 家长 P1 权限 tests/test-cases/parent.md#TC-P-11-P 报告解析 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-12-P 饮食推荐 家长 P1 权限 tests/test-cases/parent.md#TC-P-12-P 饮食推荐系统 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-13-P AI 方案 家长 P1 权限 tests/test-cases/parent.md#TC-P-13-P AI 统一走 LangGraph;`AiGateway 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-14-P 方案提交 家长 P1 权限 tests/test-cases/parent.md#TC-P-14-P 方案状态机 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-15-P 双角色 家长 P1 权限 tests/test-cases/parent.md#TC-P-15-P POST /api/family/member/switch`(替代废弃 switch-mode);双角色铁律 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-16-P 会员 家长 P1 权限 tests/test-cases/parent.md#TC-P-16-P MembershipController/ProductOrderController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-17-P 积分/成长 家长 P1 权限 tests/test-cases/parent.md#TC-P-17-P PointsController/GrowthController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-18-P AI 对话 家长 P1 权限 tests/test-cases/parent.md#TC-P-18-P AIChatController`;LangGraph RAG 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-19-P 能量配置 家长 P2 权限 tests/test-cases/parent.md#TC-P-19-P 维度配置 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-20-P 健康报告 家长 P1 权限 tests/test-cases/parent.md#TC-P-20-P 报告解析中台/`POST /api/media/upload 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-21-P 报告解析 家长 P1 权限 tests/test-cases/parent.md#TC-P-21-P /api/admin/report-parser/types 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-22-P 报告预览 家长 P1 权限 tests/test-cases/parent.md#TC-P-22-P 解析中台 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-23-P 报告入库 家长 P1 权限 tests/test-cases/parent.md#TC-P-23-P 解析中台 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-24-P 报告管理 家长 P1 权限 tests/test-cases/parent.md#TC-P-24-P 报告管理 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-25-P 报告趋势 家长 P1 权限 tests/test-cases/parent.md#TC-P-25-P 成长/报告 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-26-P 饮食推荐 家长 P1 权限 tests/test-cases/parent.md#TC-P-26-P 饮食推荐系统 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-27-P 家庭食谱 家长 P1 权限 tests/test-cases/parent.md#TC-P-27-P 饮食推荐/家庭食谱 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-28-P 食谱筛选 家长 P2 权限 tests/test-cases/parent.md#TC-P-28-P 饮食推荐 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-29-P 食谱收藏 家长 P2 权限 tests/test-cases/parent.md#TC-P-29-P 饮食推荐 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-30-P 食谱营养 家长 P2 权限 tests/test-cases/parent.md#TC-P-30-P 饮食推荐 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-31-P 测评类型 家长 P1 权限 tests/test-cases/parent.md#TC-P-31-P DanAssessmentController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-32-P 测评规划师 家长 P1 权限 tests/test-cases/parent.md#TC-P-32-P 测评订单 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-33-P 测评下单 家长 P1 权限 tests/test-cases/parent.md#TC-P-33-P AssessmentOrder 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-34-P 测评支付 家长 P1 权限 tests/test-cases/parent.md#TC-P-34-P 支付/`AssessmentQuota 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-35-P 测评额度 家长 P1 权限 tests/test-cases/parent.md#TC-P-35-P AssessmentQuota 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-36-P 测评预约 家长 P1 权限 tests/test-cases/parent.md#TC-P-36-P AssessmentAppointmentController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-37-P 预约状态 家长 P1 权限 tests/test-cases/parent.md#TC-P-37-P AssessmentAppointmentController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-38-P 预约取消 家长 P1 权限 tests/test-cases/parent.md#TC-P-38-P AssessmentAppointmentController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-39-P DAN报告 家长 P1 权限 tests/test-cases/parent.md#TC-P-39-P DanAssessmentResultDTO 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-40-P AI方案 家长 P1 权限 tests/test-cases/parent.md#TC-P-40-P AIChatController/AiGateway 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-41-P 方案迭代 家长 P1 权限 tests/test-cases/parent.md#TC-P-41-P AIChatController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-42-P 方案编辑 家长 P1 权限 tests/test-cases/parent.md#TC-P-42-P 方案管理 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-43-P 方案查看 家长 P1 权限 tests/test-cases/parent.md#TC-P-43-P 方案管理 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-44-P 方案确认 家长 P1 权限 tests/test-cases/parent.md#TC-P-44-P 方案状态机 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-45-P 方案发布 家长 P1 权限 tests/test-cases/parent.md#TC-P-45-P 方案管理 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-46-P 方案激活 家长 P1 权限 tests/test-cases/parent.md#TC-P-46-P 方案激活任务分解 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-47-P 方案任务 家长 P1 权限 tests/test-cases/parent.md#TC-P-47-P GrowthPlanController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-48-P 方案版本 家长 P2 权限 tests/test-cases/parent.md#TC-P-48-P 方案管理 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-49-P AI对话 家长 P1 权限 tests/test-cases/parent.md#TC-P-49-P AIChatController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-50-P 成长记录 家长 P1 权限 tests/test-cases/parent.md#TC-P-50-P GrowthController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-51-P 成长里程碑 家长 P2 权限 tests/test-cases/parent.md#TC-P-51-P GrowthController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-52-P 商城浏览 家长 P1 权限 tests/test-cases/parent.md#TC-P-52-P MallController/danshop 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-53-P 商品详情 家长 P1 权限 tests/test-cases/parent.md#TC-P-53-P MallController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-54-P 商城下单 家长 P1 权限 tests/test-cases/parent.md#TC-P-54-P MallController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-55-P 订单支付 家长 P1 权限 tests/test-cases/parent.md#TC-P-55-P 支付 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-56-P 订单退款 家长 P1 权限 tests/test-cases/parent.md#TC-P-56-P 订单服务 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-57-P 优惠券 家长 P1 权限 tests/test-cases/parent.md#TC-P-57-P 优惠券 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-58-P 会员购买 家长 P1 权限 tests/test-cases/parent.md#TC-P-58-P MemberController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-59-P 会员权益 家长 P1 权限 tests/test-cases/parent.md#TC-P-59-P MemberController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-60-P 会员续费 家长 P2 权限 tests/test-cases/parent.md#TC-P-60-P MemberController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-61-P 联系人 家长 P1 权限 tests/test-cases/parent.md#TC-P-61-P ContactCard/contact-detail 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-62-P 联系人导入 家长 P2 权限 tests/test-cases/parent.md#TC-P-62-P ContactImport 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-63-P 联系人权限 家长 P1 权限 tests/test-cases/parent.md#TC-P-63-P ContactCard 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-64-P 个人资料 家长 P1 权限 tests/test-cases/parent.md#TC-P-64-P AuthController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-65-P 通知设置 家长 P2 权限 tests/test-cases/parent.md#TC-P-65-P 消息服务 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-66-P 隐私设置 家长 P2 权限 tests/test-cases/parent.md#TC-P-66-P 隐私设置 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-67-P 报告代传/report-proxy 家长 P0 权限 tests/test-cases/parent.md#TC-P-67-P 报告代传/report-proxy 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-68-P 家庭天盘 家长 P1 权限 tests/test-cases/parent.md#TC-P-68-P 家庭天盘 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-69-P 精准营养 家长 P1 权限 tests/test-cases/parent.md#TC-P-69-P 精准营养 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-70-P 舌诊情绪识别 家长 P1 权限 tests/test-cases/parent.md#TC-P-70-P 舌诊情绪识别 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-71-P AuthController 家长 P1 权限 tests/test-cases/parent.md#TC-P-71-P AuthController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-72-P 数据导出(GDPR) 家长 P1 权限 tests/test-cases/parent.md#TC-P-72-P 数据导出(GDPR) 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-73-P 家庭/成员 家长 P1 权限 tests/test-cases/parent.md#TC-P-73-P 家庭/成员 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-74-P 规划师绑定 家长 P1 权限 tests/test-cases/parent.md#TC-P-74-P 规划师绑定 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-75-P 优惠券 家长 P1 权限 tests/test-cases/parent.md#TC-P-75-P 优惠券 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-76-P 活动管理 家长 P0 权限 tests/test-cases/parent.md#TC-P-76-P 活动管理 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-77-P 活动 家长 P1 权限 tests/test-cases/parent.md#TC-P-77-P 活动 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-78-P 消息服务 家长 P1 权限 tests/test-cases/parent.md#TC-P-78-P 消息服务 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-79-P 消息服务 家长 P1 权限 tests/test-cases/parent.md#TC-P-79-P 消息服务 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-80-P 会员/订单 家长 P1 权限 tests/test-cases/parent.md#TC-P-80-P 会员/订单 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-81-P 方案/任务 家长 P1 权限 tests/test-cases/parent.md#TC-P-81-P 方案/任务 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-82-P 搜索 家长 P1 权限 tests/test-cases/parent.md#TC-P-82-P 搜索 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-83-P 客服 家长 P1 权限 tests/test-cases/parent.md#TC-P-83-P 客服 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-84-P 分享 家长 P1 权限 tests/test-cases/parent.md#TC-P-84-P 分享 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-85-P AuthController 家长 P1 权限 tests/test-cases/parent.md#TC-P-85-P AuthController 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-86-P 勋章/排行 家长 P1 权限 tests/test-cases/parent.md#TC-P-86-P 勋章/排行 非归属数据访问统一 403/401,不泄露他人数据;横向越权被拒
TC-P-87 能量/任务 家长 P1 功能 tests/test-cases/parent.md#TC-P-87 EnergyRuleEngine/TaskController B 对应维度 balance/totalEarned +amount;EnergyLog.sourceType=task、balanceAfter 正确;概览/沙盘随新值刷新
TC-P-88 能量/心愿 家长 P1 功能 tests/test-cases/parent.md#TC-P-88 EnergyController/RewardController 扣减成功,EnergyLog 负 amount、balanceAfter=balance-额;balance/totalSpent 同步;心愿已兑换
TC-P-89 能量/手动 家长 P2 功能 tests/test-cases/parent.md#TC-P-89 EnergyController 指定维度 +amount;EnergyLog.sourceType=manual 留痕;balanceAfter 更新
TC-P-90 能量/日上限 家长 P1 功能 tests/test-cases/parent.md#TC-P-90 DimensionDailyLimit 累计达 N 后新增触发不再累加(或截断到上限);跨日 00:00 清零可重新获取
TC-P-91 能量/健康报告 家长 P0 功能 tests/test-cases/parent.md#TC-P-91 HealthReportController 七维/六维评分刷新;概览/沙盘/score-history 按新值重算;时间序列反映改善
TC-P-92 能量/配置 家长 P1 功能 tests/test-cases/parent.md#TC-P-92 EnergyController`/维度配置 按新口径重算并展示;存量重算提示
TC-P-93 能量/文章·活动 家长 P1 功能 tests/test-cases/parent.md#TC-P-93 ArticleService/ActivityService 对应维度 +amount;sourceType=article/activity;balanceAfter 更新
TC-P-87-E 能量/任务 家长 P2 异常 tests/test-cases/parent.md#TC-P-87-E EnergyRuleEngine 1. 重复审批幂等不重复加、无第二条 EnergyLog 2. 无归因维度不 500、按规则落 sourceType 或不加 3. 参数非法统一 400、不改动能量 4. 规则异常告警、不写脏流水
TC-P-88-E 能量/心愿 家长 P1 异常 tests/test-cases/parent.md#TC-P-88-E EnergyController/RewardController 1. 余额不足明确"能量不足"、心愿保持待审批、无负余额 2. 并发仅一次成功、二次幂等拒 3. 已兑换再提交拒、无负流水 4. 参数非法 400、不扣减
TC-P-89-E 能量/手动 家长 P2 异常 tests/test-cases/parent.md#TC-P-89-E EnergyController 1. 400 拦截不发放 2. 400 不写脏数据 3. 按幂等/业务规则不重复加
TC-P-90-E 能量/日上限 家长 P2 异常 tests/test-cases/parent.md#TC-P-90-E DimensionDailyLimit 1. 触顶后其余来源同维度受限 2. 手动口径断言一致 3. 以服务端日期为准、不绕过 4. 上限 0/负 拒绝配置或按 0、不崩溃
TC-P-91-E 能量/健康报告 家长 P1 异常 tests/test-cases/parent.md#TC-P-91-E HealthReportController 1. 不刷新、原评分保留 2. 类型不一致不可比/提示、不串维度 3. 该维度保持上一值或空态、不 500 4. 重复入库幂等不重复刷新
TC-P-92-E 能量/配置 家长 P2 异常 tests/test-cases/parent.md#TC-P-92-E EnergyController`/维度配置 1. 报警并拒或归一化、不静默错算 2. 展示兜底旧值并提示"同步中"、不显示错乱 3. 400 拦截
TC-P-93-E 能量/文章·活动 家长 P2 异常 tests/test-cases/parent.md#TC-P-93-E ArticleService/ActivityService 1. 风控拦截不计能量 2. 触顶不累加 3. 按规则回收或保留、不双发 4. 参与被拒不发放
TC-P-87-P 能量/任务 家长 P1 权限 tests/test-cases/parent.md#TC-P-87-P JwtInterceptor`+role 1. 非本家庭能量访问 403 2. 孩子端无 grant 入口、直接调被 role 校验拒
TC-P-88-P 能量/心愿 家长 P1 权限 tests/test-cases/parent.md#TC-P-88-P EnergyController 1. 非本家庭心愿 403 2. 孩子端无扣减入口、直接调被拒
TC-P-89-P 能量/手动 家长 P1 权限 tests/test-cases/parent.md#TC-P-89-P JwtInterceptor`+role 1. 非本家庭 grant 403 2. 孩子端拒
TC-P-90-P 能量/日上限 家长 P2 权限 tests/test-cases/parent.md#TC-P-90-P DimensionDailyLimit 1. 他人累计不可见 403 2. 越权改配置 403
TC-P-91-P 能量/健康报告 家长 P1 权限 tests/test-cases/parent.md#TC-P-91-P HealthReportController 非本家庭健康维度数据 403、不泄露
TC-P-92-P 能量/配置 家长 P1 权限 tests/test-cases/parent.md#TC-P-92-P EnergyController 非 admin 改全局 403
TC-P-93-P 能量/文章·活动 家长 P2 权限 tests/test-cases/parent.md#TC-P-93-P ArticleService/ActivityService 非本家庭流水 403
TC-P-N01 健康报告 家长 P1 性能 tests/test-cases/parent.md#TC-P-N01 健康报告上传解析 上传+解析 ≤ 30s;超时走 AiGateway 友好降级而非 500;进度可见
TC-P-N02 AI 方案 家长 P1 性能 tests/test-cases/parent.md#TC-P-N02 AiGateway/LangGraph 各方案独立完整、数据不串;单请求 P95 ≤ 15s;LangGraph 超时回退 Fallback
TC-P-N03 任务 家长 P2 性能 tests/test-cases/parent.md#TC-P-N03 TaskController 首屏 ≤ 2s;翻页流畅;分页/虚拟滚动生效
TC-P-N04 全局搜索 家长 P2 性能 tests/test-cases/parent.md#TC-P-N04 搜索接口 搜索结果 ≤ 1.5s;匹配高亮;空结果空态
TC-P-N05 报告查看 家长 P2 性能 tests/test-cases/parent.md#TC-P-N05 报告解析 列表/详情渲染 ≤ 2s;七维评分刷新不卡顿
TC-P-N06 双角色 家长 P1 兼容 tests/test-cases/parent.md#TC-P-N06 双角色铁律 四端功能一致;切回家长需密码;孩子端不可回切
TC-P-N07 饮食推荐 家长 P2 兼容 tests/test-cases/parent.md#TC-P-N07 饮食推荐 推荐列表与可吃/慎吃标签布局正常;图片自适应
TC-P-N08 设置 家长 P2 兼容 tests/test-cases/parent.md#TC-P-N08 前端适配 无样式错位;可点区域 ≥ 44px;无横向滚动
TC-P-N09 报告闭环 家长 P0 安全 tests/test-cases/parent.md#TC-P-N09 报告鉴权 返回 403(IDOR 横向越权拦截);不泄露跨家庭数据
TC-P-N10 AI 对话 家长 P1 安全 tests/test-cases/parent.md#TC-P-N10 AIChatController 输入后端 HTML 转义存储/渲染;无脚本执行
TC-P-N11 健康报告 家长 P0 安全 tests/test-cases/parent.md#TC-P-N11 上传校验 类型/大小校验拒绝(400/413);不落盘执行;不触发解析
TC-P-N12 双角色 家长 P1 安全 tests/test-cases/parent.md#TC-P-N12 switch 接口鉴权 服务端二次校验身份;篡改无效;不越权
TC-P-N13 设置 家长 P1 安全 tests/test-cases/parent.md#TC-P-N13 数据安全 无身份证/手机号明文泄露;日志脱敏;状态变更含 CSRF token 校验
TC-T-01 认证/双角色 规划师 P0 权限 tests/test-cases/teacher.md#TC-T-01 AuthController`;规划师可切回家长 进入仪表板;可切回自身家长视角;越权访问无关家庭被拒
TC-T-02 家庭绑定 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-02 FamilyInviteController 家庭出现在列表,可见成员;无效码提示失败;重复绑定幂等
TC-T-03 健康报告 规划师 P0 功能 tests/test-cases/teacher.md#TC-T-03 报告上传解析;规划师代传 报告进入孩子档案;健康列表可见;识别失败进草稿/未知聚类
TC-T-04 报告审核 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-04 报告审核 草稿确认入库,健康报告列表可见;确认前可取消不入库
TC-T-05 方案管理 规划师 P0 功能 tests/test-cases/teacher.md#TC-T-05 方案管理;黑盒回归项 列表正常渲染(无白屏);函数不报未定义
TC-T-06 方案审核 规划师 P0 功能 tests/test-cases/teacher.md#TC-T-06 方案状态机 状态 generated→reviewed
TC-T-07 方案激活 规划师 P0 功能 tests/test-cases/teacher.md#TC-T-07 激活拆任务 状态 reviewed→active;生成引导任务+模板任务;孩子 B 出现方案启动任务
TC-T-08 方案激活·幂等 规划师 P0 异常 tests/test-cases/teacher.md#TC-T-08 幂等约束(黑盒回归) 返回状态异常提示,不重复生成任务(幂等)
TC-T-09 任务审核 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-09 TaskController 通过→孩子得积分;驳回→退回重做;越权审核非绑定家庭被拒
TC-T-10 测评录入 规划师 P0 功能 tests/test-cases/teacher.md#TC-T-10 AssessmentAppointmentController/DanAssessmentController 结果可见;触发规则引擎自动生成方案(generated);必填缺失→校验拦截;重复录入覆盖
TC-T-11 成长计划 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-11 GrowthPlanController`;黑盒回归 列表显示自己创建的计划(childName/状态/时间);不再 400
TC-T-12 套餐 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-12 GuidePackageController 上架前提交审核;审核通过后可被市场购买;任务项为空→校验拦截
TC-T-13 数据隔离 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-13 控制器内 role 检查 非绑定家庭统一 403;仅见绑定家庭数据
TC-T-14 方案编辑 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-14 方案管理 编辑后状态标记已改;保存生效
TC-T-15 套餐任务 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-15 GuidePackageController 空套餐拦截上架;重算后任务项正确
TC-T-16 健康总览 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-16 仪表板 数据缺失项降级展示不 500
TC-T-17 计划进度 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-17 GrowthPlanController 进度计算准确;与任务状态一致
TC-T-18 批量任务 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-18 TaskController 部分失败不影响其他成员;各自独立落库
TC-T-19 消息推送 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-19 消息服务 客户端收到;免打扰设置生效
TC-T-20 退出/切换 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-20 AuthController 退出清缓存;切回家长视角正常
TC-T-21 报告对比 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-21 报告管理 报告类型一致才可比对;差异清晰标注
TC-T-22 方案归档 规划师 P2 功能 tests/test-cases/teacher.md#TC-T-22 方案管理 归档后方案仅可读,不可再编辑/激活
TC-T-23 报告代传/report-proxy 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-23 报告代传/report-proxy 达成目标:帮客户上传;边界:非绑定家庭拒;识别失败进草稿
TC-T-24 规划师绑定 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-24 规划师绑定 达成目标:更换绑定;边界:在途方案/预约处理;非绑定家庭不可操作
TC-T-25 舌诊情绪识别 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-25 舌诊情绪识别 达成目标:录入识别结果;边界:识别失败回退人工
TC-T-26 精准营养 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-26 精准营养 达成目标:基于营养目标出方案;边界:目标非法拦截
TC-T-27 家庭天盘 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-27 家庭天盘 达成目标:给家庭看聚合视图并解读;边界:仅绑定家庭可见
TC-T-28 内容安全 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-28 内容安全 达成目标:复核 AI 敏感内容;边界:命中即拦截
TC-T-29 数据导出(GDPR) 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-29 数据导出(GDPR) 达成目标:导出客户数据;边界:授权/脱敏;越权拒
TC-T-01-E 认证/双角色 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-01-E AuthController`;规划师可切回家长 缺失/过期 token 统一 401 跳登录;非绑定家庭路由 403 被拒;模拟登录开关仅在测试环境可开
TC-T-02-E 家庭绑定 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-02-E FamilyInviteController 错码/过期提示『邀请码无效或已失效』;重复绑定幂等不双建;注销家庭不可绑
TC-T-03-E 健康报告 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-03-E 报告上传解析;规划师代传 损坏/非募极提示明确(非募极提示请确认募极生物);超大超限提示;解析超时进草稿非500;非绑定孩子 403
TC-T-04-E 报告审核 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-04-E 报告审核 已删草稿提示『不存在』;解析中确认提示稍候;非绑定家庭草稿 403 不可操作
TC-T-05-E 方案管理 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-05-E 方案管理;黑盒回归项 列表超时降级提示非500;黑盒回归:函数不再未定义、不白屏;空列表正常占位
TC-T-06-E 方案审核 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-06-E 方案状态机 非 generated 态批准拦截(状态机守卫);并发双批准幂等仅 1 次状态跃迁
TC-T-07-E 方案激活 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-07-E 激活拆任务 超时回滚不残半任务、状态回 reviewed;已激活再激活幂等不重复生成任务;非 reviewed 激活拦截
TC-T-08-E 方案激活·幂等 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-08-E 幂等约束(黑盒回归) 第二次幂等返回现状、不重复生成引导/模板任务;任务数与首次一致
TC-T-09-E 任务审核 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-09-E TaskController 非绑定家庭 403;并发双审幂等仅计 1 次积分;超期任务审核被拒
TC-T-10-E 测评录入 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-10-E AssessmentAppointmentController/DanAssessmentController 必填缺失 400 不生成半成品;重复录入覆盖非新增;越界 400 不写脏分;非指派 confirm 返回『您不是被指派测评师』
TC-T-11-E 成长计划 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-11-E GrowthPlanController`;黑盒回归 超时降级非500;空列表正常;非绑定家庭 403
TC-T-12-E 套餐 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-12-E GuidePackageController 空任务项拦截上架;审核超时回退草稿非500;重复提交幂等
TC-T-13-E 数据隔离 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-13-E 控制器内 role 检查 非绑定家庭统一 403;不泄露他人数据;并发越权同样 403
TC-T-14-E 方案编辑 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-14-E 方案管理 归档方案编辑拦截;非绑定家庭 403;超长 400
TC-T-15-E 套餐任务 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-15-E GuidePackageController 重算超时降级提示非500;空套餐拦截;并发增删各自生效不丢项
TC-T-16-E 健康总览 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-16-E 仪表板 缺失项降级展示不白屏;超时降级提示非500;仅绑定家庭数据
TC-T-17-E 计划进度 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-17-E GrowthPlanController 超时降级非500;进度按任务状态实时计算、一致
TC-T-18-E 批量任务 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-18-E TaskController 部分失败不影响其他成员独立落库;并发批量各自独立不串
TC-T-19-E 消息推送 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-19-E 消息服务 已注销客户跳过不报错;内容转义不执行脚本;免打扰不推送
TC-T-20-E 退出/切换 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-20-E AuthController 旧 token 失效 401;网络中断退出清缓存、下次需重登;切回家长正常
TC-T-21-E 报告对比 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-21-E 报告管理 类型不一致提示不可比;不存在 id 404;差异清晰标注
TC-T-22-E 方案归档 规划师 P3 异常 tests/test-cases/teacher.md#TC-T-22-E 方案管理 归档后编辑/激活拦截;不存在 404
TC-T-23-E 报告代传/report-proxy 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-23-E 报告代传/report-proxy 非绑定家庭 403 拒;损坏/非募极提示明确;识别失败进草稿非500
TC-T-24-E 规划师绑定 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-24-E 规划师绑定 在途未完成提示先处理;非平台家庭绑定 400 拒
TC-T-25-E 舌诊情绪识别 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-25-E 舌诊情绪识别 类型校验拒绝(.php/.html)不执行;非照片/模糊拒;低置信度提示重拍
TC-T-26-E 精准营养 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-26-E 精准营养 负/超上限 400『热量需在合理区间』;脚本转义存储不执行
TC-T-27-E 家庭天盘 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-27-E 家庭天盘 非绑定家庭 403;缺失项降级展示不白屏
TC-T-28-E 内容安全 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-28-E 内容安全 命中即拦截不放行;超时 Fallback 兜底、友好提示非500
TC-T-29-E 数据导出(GDPR) 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-29-E 数据导出(GDPR) 越权导出 403;频次限制提示『导出过于频繁』;敏感字段脱敏
TC-T-01-P 认证/双角色 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-01-P AuthController`;规划师可切回家长 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-02-P 家庭绑定 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-02-P FamilyInviteController 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-03-P 健康报告 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-03-P 报告上传解析;规划师代传 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-04-P 报告审核 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-04-P 报告审核 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-05-P 方案管理 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-05-P 方案管理;黑盒回归项 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-06-P 方案审核 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-06-P 方案状态机 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-07-P 方案激活 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-07-P 激活拆任务 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-08-P 方案激活·幂等 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-08-P 幂等约束(黑盒回归) 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-09-P 任务审核 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-09-P TaskController 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-10-P 测评录入 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-10-P AssessmentAppointmentController/DanAssessmentController 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-11-P 成长计划 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-11-P GrowthPlanController`;黑盒回归 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-12-P 套餐 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-12-P GuidePackageController 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-13-P 数据隔离 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-13-P 控制器内 role 检查 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-14-P 方案编辑 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-14-P 方案管理 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-15-P 套餐任务 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-15-P GuidePackageController 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-16-P 健康总览 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-16-P 仪表板 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-17-P 计划进度 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-17-P GrowthPlanController 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-18-P 批量任务 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-18-P TaskController 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-19-P 消息推送 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-19-P 消息服务 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-20-P 退出/切换 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-20-P AuthController 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-21-P 报告对比 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-21-P 报告管理 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-22-P 方案归档 规划师 P2 权限 tests/test-cases/teacher.md#TC-T-22-P 方案管理 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复)
TC-T-23-P 报告代传/report-proxy 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-23-P 报告代传/report-proxy 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒
TC-T-24-P 规划师绑定 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-24-P 规划师绑定 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒
TC-T-25-P 舌诊情绪识别 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-25-P 舌诊情绪识别 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒
TC-T-26-P 精准营养 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-26-P 精准营养 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒
TC-T-27-P 家庭天盘 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-27-P 家庭天盘 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒
TC-T-28-P 内容安全 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-28-P 内容安全 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒
TC-T-29-P 数据导出(GDPR) 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-29-P 数据导出(GDPR) 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒
TC-T-30 测评/五维 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-30 AssessmentAppointmentService 八类分→五维刷新;生成 generated 方案;概览/沙盘刷新
TC-T-31 维度/手动 规划师 P1 功能 tests/test-cases/teacher.md#TC-T-31 ManualDimensionScoreController 目标维度覆盖/调整并留痕;概览/沙盘随新值刷新
TC-T-32 五维/自评 规划师 P2 功能 tests/test-cases/teacher.md#TC-T-32 FiveDimensionSelfCheckController 自评微调并叠加;FiveDimensionSelfCheck 留记录;历史可查
TC-T-30-E 测评/五维 规划师 P1 异常 tests/test-cases/teacher.md#TC-T-30-E AssessmentAppointmentService 1. 400 不生成半成品 2. 覆盖非新增、无重复记录 3. 越界 400 不写脏分
TC-T-31-E 维度/手动 规划师 P2 异常 tests/test-cases/teacher.md#TC-T-31-E ManualDimensionScoreController 1. 400 拦截 2. 幂等无重复痕迹;不影响其他维度(断言)
TC-T-32-E 五维/自评 规划师 P3 异常 tests/test-cases/teacher.md#TC-T-32-E FiveDimensionSelfCheckController 400 拦截;不写脏分
TC-T-30-P 测评/五维 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-30-P AssessmentAppointmentService 非绑定家庭录入 403
TC-T-31-P 维度/手动 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-31-P ManualDimensionScoreController 非绑定家庭 403
TC-T-32-P 五维/自评 规划师 P1 权限 tests/test-cases/teacher.md#TC-T-32-P FiveDimensionSelfCheckController 非绑定家庭 403
TC-T-N01 健康报告 规划师 P1 性能 tests/test-cases/teacher.md#TC-T-N01 报告解析中台 队列不堵;单份 ≤ 30s;失败重试不重复入库
TC-T-N02 方案审核 规划师 P1 性能 tests/test-cases/teacher.md#TC-T-N02 方案状态机 列表 ≤ 2s;筛选/排序生效
TC-T-N03 绑定家庭 规划师 P2 性能 tests/test-cases/teacher.md#TC-T-N03 绑定家庭 切换 ≤ 1.5s;数据隔离不串
TC-T-N04 报告代传 规划师 P1 兼容 tests/test-cases/teacher.md#TC-T-N04 代传入口 上传入口一致;解析预览正常
TC-T-N05 健康报告 规划师 P0 安全 tests/test-cases/teacher.md#TC-T-N05 规划师鉴权 返回 403(非绑定家庭越权拦截);不泄露
TC-T-N06 方案审核 规划师 P0 安全 tests/test-cases/teacher.md#TC-T-N06 方案鉴权 服务端归属校验;非法操作 403/拒绝
TC-T-N07 舌诊录入 规划师 P1 安全 tests/test-cases/teacher.md#TC-T-N07 上传校验 类型校验拒绝;不执行;存储路径随机化防遍历
TC-T-N08 精准营养 规划师 P1 安全 tests/test-cases/teacher.md#TC-T-N08 方案内容安全 后端转义存储;前端不执行
TC-S-01 入驻 服务商 P1 功能 tests/test-cases/vendor.md#TC-S-01 ServiceRoleApplicationController/AdminEcomSupplierController 进入运营审核队列;审核通过→获得供应商身份;资质缺失→驳回说明;重复申请幂等
TC-S-02 商品 服务商 P0 接口 tests/test-cases/vendor.md#TC-S-02 ProductController/AdminProductController 商品在商城可见;库存/价格即时生效;字段校验错误→400;负价格/负库存拦截;下架不可购买
TC-S-03 订单 服务商 P0 功能 tests/test-cases/vendor.md#TC-S-03 ProductOrderController 订单状态正确流转;客户可见物流/核销码;重复发货幂等;核销码校验防冒用
TC-S-04 订单核销 服务商 P0 功能 tests/test-cases/vendor.md#TC-S-04 订单服务 重复核销幂等;超期订单提示不可核销
TC-S-05 库存 服务商 P1 功能 tests/test-cases/vendor.md#TC-S-05 库存服务 负库存拦截;同步后前台可见
TC-S-06 售后 服务商 P1 功能 tests/test-cases/vendor.md#TC-S-06 售后 重复退款拦截;退款流水可追溯
TC-S-07 活动报名 服务商 P2 功能 tests/test-cases/vendor.md#TC-S-07 活动管理 活动失效不可报;报名后商品出现活动标
TC-S-08 对账 服务商 P1 功能 tests/test-cases/vendor.md#TC-S-08 结算 账期计算正确;结算后状态更新
TC-S-09 服务商集成/解析中台 服务商 P1 功能 tests/test-cases/vendor.md#TC-S-09 服务商集成/解析中台 达成目标:提供解析能力;边界:跨商户隔离;鉴权
TC-S-10 食谱库 服务商 P1 功能 tests/test-cases/vendor.md#TC-S-10 食谱库 达成目标:供食谱数据;边界:数据合规;格式校验
TC-S-11 合规 服务商 P1 功能 tests/test-cases/vendor.md#TC-S-11 合规 达成目标:授权内用数;边界:越授权拒;脱敏
TC-S-01-E 入驻 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-01-E ServiceRoleApplicationController/AdminEcomSupplierController 资质缺失驳回并说明缺项;重复申请幂等不双建;非法联系方式 400
TC-S-02-E 商品 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-02-E ProductController/AdminProductController 负价格/负库存/非法分类统一 400;并发改库存乐观锁不互相覆盖;下架后不可购买
TC-S-03-E 订单 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-03-E ProductOrderController 支付失败订单回滚不进已发货;重复发货幂等仅 1 次;核销码校验失败拒(防冒用)
TC-S-04-E 订单核销 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-04-E 订单服务 重复核销幂等;超期提示不可核销;非本服务商 403
TC-S-05-E 库存 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-05-E 库存服务 负库存 400 拦截;并发超卖保护不出现负库存;同步失败重试前台一致
TC-S-06-E 售后 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-06-E 售后 重复退款拦截仅 1 次;超金额 400;非本服务商 403;流水可追溯
TC-S-07-E 活动报名 服务商 P3 异常 tests/test-cases/vendor.md#TC-S-07-E 活动管理 失效活动报名拒;重复报名幂等;非法参数 400
TC-S-08-E 对账 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-08-E 结算 未到账期结算拒;重复结算幂等;异常金额告警不入账
TC-S-09-E 服务商集成/解析中台 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-09-E 服务商集成/解析中台 跨商户隔离 403;损坏/超大文件明确提示非500;鉴权失效 401
TC-S-10-E 食谱库 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-10-E 食谱库 格式校验 400;XSS 转义存储不执行;非本商户 403
TC-S-11-E 合规 服务商 P2 异常 tests/test-cases/vendor.md#TC-S-11-E 合规 越授权 403 拒;敏感字段强制脱敏;并发越权同样 403
TC-S-01-P 入驻 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-01-P ServiceRoleApplicationController/AdminEcomSupplierController 非本服务商资源操作被拒;核销码校验防冒用;跨商户数据隔离
TC-S-02-P 商品 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-02-P ProductController/AdminProductController 非本服务商资源操作被拒;核销码校验防冒用;跨商户数据隔离
TC-S-03-P 订单 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-03-P ProductOrderController 非本服务商资源操作被拒;核销码校验防冒用;跨商户数据隔离
TC-S-04-P 订单核销 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-04-P 订单服务 非本服务商资源操作被拒;核销码校验防冒用;跨商户数据隔离
TC-S-05-P 库存 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-05-P 库存服务 非本服务商资源操作被拒;核销码校验防冒用;跨商户数据隔离
TC-S-06-P 售后 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-06-P 售后 非本服务商资源操作被拒;核销码校验防冒用;跨商户数据隔离
TC-S-07-P 活动报名 服务商 P2 权限 tests/test-cases/vendor.md#TC-S-07-P 活动管理 非本服务商资源操作被拒;核销码校验防冒用;跨商户数据隔离
TC-S-08-P 对账 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-08-P 结算 非本服务商资源操作被拒;核销码校验防冒用;跨商户数据隔离
TC-S-09-P 服务商集成/解析中台 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-09-P 服务商集成/解析中台 非本商户资源隔离,跨商户访问 403
TC-S-10-P 食谱库 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-10-P 食谱库 非本商户资源隔离,跨商户访问 403
TC-S-11-P 合规 服务商 P1 权限 tests/test-cases/vendor.md#TC-S-11-P 合规 非本商户资源隔离,跨商户访问 403
TC-S-N01 商品 服务商 P2 性能 tests/test-cases/vendor.md#TC-S-N01 商品管理 列表 ≤ 2s;筛选生效
TC-S-N02 订单履约 服务商 P1 性能 tests/test-cases/vendor.md#TC-S-N02 订单服务 查询 ≤ 2s;状态流转即时
TC-S-N03 入驻 服务商 P2 兼容 tests/test-cases/vendor.md#TC-S-N03 服务商后台 表单布局正常;上传兼容
TC-S-N04 订单履约 服务商 P0 安全 tests/test-cases/vendor.md#TC-S-N04 商户隔离 返回 403(跨商户隔离);不泄露他商数据
TC-S-N05 报告解析接入 服务商 P0 安全 tests/test-cases/vendor.md#TC-S-N05 上传校验 类型/大小校验;不执行;存储隔离
TC-S-N06 营养食谱 服务商 P1 安全 tests/test-cases/vendor.md#TC-S-N06 内容安全 内容转义存储/渲染;不执行

三、Playwright 端到端 / 集成测试(tests/**/*.spec.js)

来源锚点 = 文件#用例标题。用例标题列于 JSON(inventory.json)便于回写。

文件 用例数 来源
tests/e2e/_smoke_browser.spec.js 2 tests/e2e/_smoke_browser.spec.js
tests/e2e/activity-registration.spec.js 5 tests/e2e/activity-registration.spec.js
tests/e2e/admin-activity-review.spec.js 2 tests/e2e/admin-activity-review.spec.js
tests/e2e/admin-butler-review.spec.js 6 tests/e2e/admin-butler-review.spec.js
tests/e2e/admin-commission-config.spec.js 4 tests/e2e/admin-commission-config.spec.js
tests/e2e/admin-ecom-supplier.spec.js 3 tests/e2e/admin-ecom-supplier.spec.js
tests/e2e/admin-menu-survey.spec.js 2 tests/e2e/admin-menu-survey.spec.js
tests/e2e/admin-panel.spec.js 4 tests/e2e/admin-panel.spec.js
tests/e2e/admin-promotion-config.spec.js 2 tests/e2e/admin-promotion-config.spec.js
tests/e2e/ai-plan-task-flow.spec.js 7 tests/e2e/ai-plan-task-flow.spec.js
tests/e2e/api/api-smoke.spec.js 4 tests/e2e/api/api-smoke.spec.js
tests/e2e/api/article-api.spec.js 7 tests/e2e/api/article-api.spec.js
tests/e2e/api/contact-api.spec.js 6 tests/e2e/api/contact-api.spec.js
tests/e2e/api/energy-api.spec.js 8 tests/e2e/api/energy-api.spec.js
tests/e2e/api/family-member-api.spec.js 14 tests/e2e/api/family-member-api.spec.js
tests/e2e/api/nonfunc-perf-compat.spec.js 5 tests/e2e/api/nonfunc-perf-compat.spec.js
tests/e2e/api/nonfunc-security.spec.js 11 tests/e2e/api/nonfunc-security.spec.js
tests/e2e/article-management.spec.js 5 tests/e2e/article-management.spec.js
tests/e2e/assessment-appointment-functional.spec.js 7 tests/e2e/assessment-appointment-functional.spec.js
tests/e2e/assessment-appointment.spec.js 6 tests/e2e/assessment-appointment.spec.js
tests/e2e/assessment-order-flow.spec.js 5 tests/e2e/assessment-order-flow.spec.js
tests/e2e/consignee-management.spec.js 8 tests/e2e/consignee-management.spec.js
tests/e2e/contact-management.spec.js 4 tests/e2e/contact-management.spec.js
tests/e2e/daily-checkin-streak.spec.js 9 tests/e2e/daily-checkin-streak.spec.js
tests/e2e/dan-assessment-vendor-flow.spec.js 10 tests/e2e/dan-assessment-vendor-flow.spec.js
tests/e2e/dan-report-flow.spec.js 9 tests/e2e/dan-report-flow.spec.js
tests/e2e/debug-admin-spa.spec.js 1 tests/e2e/debug-admin-spa.spec.js
tests/e2e/debug-control.spec.js 1 tests/e2e/debug-control.spec.js
tests/e2e/debug-full-instrument.spec.js 1 tests/e2e/debug-full-instrument.spec.js
tests/e2e/energy-rules-config.spec.js 4 tests/e2e/energy-rules-config.spec.js
tests/e2e/energy-system.spec.js 8 tests/e2e/energy-system.spec.js
tests/e2e/family-earnings-flow.spec.js 6 tests/e2e/family-earnings-flow.spec.js
tests/e2e/family-member-management.spec.js 10 tests/e2e/family-member-management.spec.js
tests/e2e/flora-microbiome-flow.spec.js 9 tests/e2e/flora-microbiome-flow.spec.js
tests/e2e/growth-record-sync.spec.js 8 tests/e2e/growth-record-sync.spec.js
tests/e2e/guide-family-list.spec.js 7 tests/e2e/guide-family-list.spec.js
tests/e2e/health-knowledge-base.spec.js 4 tests/e2e/health-knowledge-base.spec.js
tests/e2e/health-report-audit.spec.js 8 tests/e2e/health-report-audit.spec.js
tests/e2e/mass-create-users.spec.js 1 tests/e2e/mass-create-users.spec.js
tests/e2e/membership-system.spec.js 3 tests/e2e/membership-system.spec.js
tests/e2e/mini-games-full.spec.js 5 tests/e2e/mini-games-full.spec.js
tests/e2e/mini-games-playwright.spec.js 12 tests/e2e/mini-games-playwright.spec.js
tests/e2e/mini-games.spec.js 14 tests/e2e/mini-games.spec.js
tests/e2e/nutritionist-apply.spec.js 3 tests/e2e/nutritionist-apply.spec.js
tests/e2e/nutritionist-flow.spec.js 10 tests/e2e/nutritionist-flow.spec.js
tests/e2e/planner-bind-invite.spec.js 9 tests/e2e/planner-bind-invite.spec.js
tests/e2e/points-system.spec.js 4 tests/e2e/points-system.spec.js
tests/e2e/product-purchase.spec.js 9 tests/e2e/product-purchase.spec.js
tests/e2e/publish-dimension-articles.spec.js 1 tests/e2e/publish-dimension-articles.spec.js
tests/e2e/roles/admin/article/workflow.spec.js 4 tests/e2e/roles/admin/article/workflow.spec.js
tests/e2e/roles/admin/login.spec.js 2 tests/e2e/roles/admin/login.spec.js
tests/e2e/roles/admin/vendor/management.spec.js 2 tests/e2e/roles/admin/vendor/management.spec.js
tests/e2e/roles/child/daily-checkin.spec.js 3 tests/e2e/roles/child/daily-checkin.spec.js
tests/e2e/roles/child/login.spec.js 2 tests/e2e/roles/child/login.spec.js
tests/e2e/roles/child/mini-games.spec.js 3 tests/e2e/roles/child/mini-games.spec.js
tests/e2e/roles/parent/assessment-order.spec.js 6 tests/e2e/roles/parent/assessment-order.spec.js
tests/e2e/roles/parent/energy-dashboard.spec.js 5 tests/e2e/roles/parent/energy-dashboard.spec.js
tests/e2e/roles/parent/family-management.spec.js 8 tests/e2e/roles/parent/family-management.spec.js
tests/e2e/roles/parent/points.spec.js 6 tests/e2e/roles/parent/points.spec.js
tests/e2e/roles/parent/wish-management.spec.js 5 tests/e2e/roles/parent/wish-management.spec.js
tests/e2e/roles/teacher/family-binding.spec.js 4 tests/e2e/roles/teacher/family-binding.spec.js
tests/e2e/roles/teacher/login.spec.js 2 tests/e2e/roles/teacher/login.spec.js
tests/e2e/teacher-dashboard.spec.js 10 tests/e2e/teacher-dashboard.spec.js
tests/e2e/unified-audit-center.spec.js 8 tests/e2e/unified-audit-center.spec.js
tests/e2e/vendor-onboarding.spec.js 3 tests/e2e/vendor-onboarding.spec.js
tests/e2e/vendor-product-manage.spec.js 8 tests/e2e/vendor-product-manage.spec.js
tests/e2e/wish-exchange-flow.spec.js 12 tests/e2e/wish-exchange-flow.spec.js
tests/integration/mini-games-api.spec.js 13 tests/integration/mini-games-api.spec.js
tests/integration/plan-chain.spec.js 10 tests/integration/plan-chain.spec.js
tests/unit/games/1a2b.spec.js 1 tests/unit/games/1a2b.spec.js

四、Python 测试(cfc-langgraph/tests · tools/xaf_agent_hub/tests)

文件 用例数 来源
cfc-langgraph/tests/qna/test_graph.py 4 cfc-langgraph/tests/qna/test_graph.py
cfc-langgraph/tests/test_analyze.py 2 cfc-langgraph/tests/test_analyze.py
cfc-langgraph/tests/test_auto_tag.py 5 cfc-langgraph/tests/test_auto_tag.py
cfc-langgraph/tests/test_chat.py 1 cfc-langgraph/tests/test_chat.py
cfc-langgraph/tests/test_graph.py 5 cfc-langgraph/tests/test_graph.py
cfc-langgraph/tests/test_health_plan.py 13 cfc-langgraph/tests/test_health_plan.py
cfc-langgraph/tests/test_intent.py 5 cfc-langgraph/tests/test_intent.py
cfc-langgraph/tests/test_memory.py 3 cfc-langgraph/tests/test_memory.py
cfc-langgraph/tests/test_recommend.py 3 cfc-langgraph/tests/test_recommend.py
cfc-langgraph/tests/test_report_parse.py 5 cfc-langgraph/tests/test_report_parse.py
cfc-langgraph/tests/test_tongue.py 1 cfc-langgraph/tests/test_tongue.py
tools/xaf_agent_hub/tests/test_smart_cleanup.py 8 tools/xaf_agent_hub/tests/test_smart_cleanup.py

五、Java 后端测试(cfc-backend/src/test/java)

方法级覆盖矩阵(控制器 handler 命中情况)见 discovery.md。此处文件级编目,来源锚点 = 原 java 路径。

测试文件 类型 @Test数 目标类 来源
cfc-backend/src/test/java/com/etotem/cfc/common/AdminRolesTest.java cfc-backend 9 AdminRoles cfc-backend/src/test/java/com/etotem/cfc/common/AdminRolesTest.java
cfc-backend/src/test/java/com/etotem/cfc/common/TestRoles.java cfc-backend 0 TestRoles.java cfc-backend/src/test/java/com/etotem/cfc/common/TestRoles.java
cfc-backend/src/test/java/com/etotem/cfc/config/AttributionStage1FoundationTest.java cfc-backend 7 AttributionStage1Foundation cfc-backend/src/test/java/com/etotem/cfc/config/AttributionStage1FoundationTest.java
cfc-backend/src/test/java/com/etotem/cfc/config/DatabaseInitializerSeedTest.java cfc-backend 6 DatabaseInitializerSeed cfc-backend/src/test/java/com/etotem/cfc/config/DatabaseInitializerSeedTest.java
cfc-backend/src/test/java/com/etotem/cfc/config/FamilyAccessInterceptorTest.java cfc-backend 11 FamilyAccessInterceptor cfc-backend/src/test/java/com/etotem/cfc/config/FamilyAccessInterceptorTest.java
cfc-backend/src/test/java/com/etotem/cfc/config/JwtInterceptorLoginRequiredTest.java cfc-backend 5 JwtInterceptorLoginRequired cfc-backend/src/test/java/com/etotem/cfc/config/JwtInterceptorLoginRequiredTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/AttributionControllerTest.java cfc-backend 1 AttributionController cfc-backend/src/test/java/com/etotem/cfc/controller/AttributionControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/AttributionSurveyRoutingTest.java cfc-backend 3 AttributionSurveyRouting cfc-backend/src/test/java/com/etotem/cfc/controller/AttributionSurveyRoutingTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/DanAssessmentControllerGetActiveMaterialTest.java cfc-backend 3 DanAssessmentControllerGetActiveMaterial cfc-backend/src/test/java/com/etotem/cfc/controller/DanAssessmentControllerGetActiveMaterialTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/EnergyControllerGrantEnergyTest.java cfc-backend 3 EnergyControllerGrantEnergy cfc-backend/src/test/java/com/etotem/cfc/controller/EnergyControllerGrantEnergyTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/HealthCheckinCfEarnCallSiteTest.java cfc-backend 6 HealthCheckinCfEarnCallSite cfc-backend/src/test/java/com/etotem/cfc/controller/HealthCheckinCfEarnCallSiteTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/HealthPlanDeleteControllerTest.java cfc-backend 6 HealthPlanDeleteController cfc-backend/src/test/java/com/etotem/cfc/controller/HealthPlanDeleteControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/HealthReportControllerCreateReportTest.java cfc-backend 5 HealthReportControllerCreateReport cfc-backend/src/test/java/com/etotem/cfc/controller/HealthReportControllerCreateReportTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/HealthReportControllerListPaginationTest.java cfc-backend 4 HealthReportControllerListPagination cfc-backend/src/test/java/com/etotem/cfc/controller/HealthReportControllerListPaginationTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/HealthReportControllerProxyParseBindingTest.java cfc-backend 6 HealthReportControllerProxyParseBinding cfc-backend/src/test/java/com/etotem/cfc/controller/HealthReportControllerProxyParseBindingTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/IndicatorControllerTest.java cfc-backend 2 IndicatorController cfc-backend/src/test/java/com/etotem/cfc/controller/IndicatorControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/IndicatorFavoriteControllerTest.java cfc-backend 10 IndicatorFavoriteController cfc-backend/src/test/java/com/etotem/cfc/controller/IndicatorFavoriteControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/admin/AdminAuthWechatScanTest.java cfc-backend 11 AdminAuthWechatScan cfc-backend/src/test/java/com/etotem/cfc/controller/admin/AdminAuthWechatScanTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/admin/AdminProductControllerBatchShelveTest.java cfc-backend 4 AdminProductControllerBatchShelve cfc-backend/src/test/java/com/etotem/cfc/controller/admin/AdminProductControllerBatchShelveTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/admin/ReportParserAdminControllerTest.java cfc-backend 3 ReportParserAdminController cfc-backend/src/test/java/com/etotem/cfc/controller/admin/ReportParserAdminControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/admin/SupplyTeamControllerInviteTest.java cfc-backend 7 SupplyTeamControllerInvite cfc-backend/src/test/java/com/etotem/cfc/controller/admin/SupplyTeamControllerInviteTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/ai/AIChatControllerGateTest.java cfc-backend 18 AIChatControllerGate cfc-backend/src/test/java/com/etotem/cfc/controller/ai/AIChatControllerGateTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/ai/ButlerControllerGateTest.java cfc-backend 9 ButlerControllerGate cfc-backend/src/test/java/com/etotem/cfc/controller/ai/ButlerControllerGateTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/family/FamilyMembersControllerAddMemberTest.java cfc-backend 7 FamilyMembersControllerAddMember cfc-backend/src/test/java/com/etotem/cfc/controller/family/FamilyMembersControllerAddMemberTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/family/FamilyMembersControllerListTest.java cfc-backend 4 FamilyMembersControllerList cfc-backend/src/test/java/com/etotem/cfc/controller/family/FamilyMembersControllerListTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/family/FamilyMembersControllerRenameFamilyTest.java cfc-backend 2 FamilyMembersControllerRenameFamily cfc-backend/src/test/java/com/etotem/cfc/controller/family/FamilyMembersControllerRenameFamilyTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/guide/TeacherMessageControllerMyTest.java cfc-backend 1 TeacherMessageControllerMy cfc-backend/src/test/java/com/etotem/cfc/controller/guide/TeacherMessageControllerMyTest.java
cfc-backend/src/test/java/com/etotem/cfc/controller/guide/TrainingPlanControllerGetPlanListTest.java cfc-backend 10 TrainingPlanControllerGetPlanList cfc-backend/src/test/java/com/etotem/cfc/controller/guide/TrainingPlanControllerGetPlanListTest.java
cfc-backend/src/test/java/com/etotem/cfc/dto/ActivityDTOTest.java cfc-backend 3 ActivityDTO cfc-backend/src/test/java/com/etotem/cfc/dto/ActivityDTOTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/DailyCheckinStreakFlowTest.java cfc-backend 6 DailyCheckinStreakFlow cfc-backend/src/test/java/com/etotem/cfc/integration/DailyCheckinStreakFlowTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/EnergySystemFlowTest.java cfc-backend 7 EnergySystemFlow cfc-backend/src/test/java/com/etotem/cfc/integration/EnergySystemFlowTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/GrowthRecordSyncFlowTest.java cfc-backend 10 GrowthRecordSyncFlow cfc-backend/src/test/java/com/etotem/cfc/integration/GrowthRecordSyncFlowTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/GuideModuleIntegrationTest.java cfc-backend 4 GuideModule cfc-backend/src/test/java/com/etotem/cfc/integration/GuideModuleIntegrationTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/PlannerBindInviteFlowTest.java cfc-backend 9 PlannerBindInviteFlow cfc-backend/src/test/java/com/etotem/cfc/integration/PlannerBindInviteFlowTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AIChatControllerTest.java cfc-backend 17 AIChatController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AIChatControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ActivityControllerTest.java cfc-backend 16 ActivityController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ActivityControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AdminFamilyOverviewControllerTest.java cfc-backend 3 AdminFamilyOverviewController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AdminFamilyOverviewControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AdminSpecialPriceControllerTest.java cfc-backend 8 AdminSpecialPriceController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AdminSpecialPriceControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ArticleCategoryControllerTest.java cfc-backend 3 ArticleCategoryController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ArticleCategoryControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ArticleControllerTest.java cfc-backend 11 ArticleController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ArticleControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AuthControllerTest.java cfc-backend 39 AuthController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AuthControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/DailyTaskControllerTest.java cfc-backend 2 DailyTaskController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/DailyTaskControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/DimensionAdminControllerTest.java cfc-backend 13 DimensionAdminController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/DimensionAdminControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/FamilyControllerTest.java cfc-backend 8 FamilyController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/FamilyControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/GuideFamilyTaskControllerTest.java cfc-backend 20 GuideFamilyTaskController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/GuideFamilyTaskControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/GuideOrderControllerTest.java cfc-backend 8 GuideOrderController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/GuideOrderControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/GuideRolePermissionTest.java cfc-backend 21 GuideRolePermission cfc-backend/src/test/java/com/etotem/cfc/integration/controller/GuideRolePermissionTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/GuideTeamControllerTest.java cfc-backend 9 GuideTeamController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/GuideTeamControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/HealthDimensionControllerTest.java cfc-backend 15 HealthDimensionController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/HealthDimensionControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/PaymentControllerTest.java cfc-backend 12 PaymentController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/PaymentControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ProductControllerTest.java cfc-backend 16 ProductController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ProductControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ProductOrderControllerTest.java cfc-backend 20 ProductOrderController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/ProductOrderControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/SpecialPriceControllerTest.java cfc-backend 3 SpecialPriceController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/SpecialPriceControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/StatsControllerTest.java cfc-backend 6 StatsController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/StatsControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/WishControllerTest.java cfc-backend 29 WishController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/WishControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/controller/mind/MindFortuneControllerTest.java cfc-backend 1 MindFortuneController cfc-backend/src/test/java/com/etotem/cfc/integration/controller/mind/MindFortuneControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/ActivityAdminServiceTest.java cfc-backend 10 ActivityAdminService cfc-backend/src/test/java/com/etotem/cfc/integration/service/ActivityAdminServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/ActivityServicePublishTest.java cfc-backend 6 ActivityServicePublish cfc-backend/src/test/java/com/etotem/cfc/integration/service/ActivityServicePublishTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/ArticleWorkflowTest.java cfc-backend 14 ArticleWorkflow cfc-backend/src/test/java/com/etotem/cfc/integration/service/ArticleWorkflowTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/ChallengeScoreServiceTest.java cfc-backend 4 ChallengeScoreService cfc-backend/src/test/java/com/etotem/cfc/integration/service/ChallengeScoreServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/DailyOverviewServiceTest.java cfc-backend 1 DailyOverviewService cfc-backend/src/test/java/com/etotem/cfc/integration/service/DailyOverviewServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/DanReportParseServiceTest.java cfc-backend 38 DanReportParseService cfc-backend/src/test/java/com/etotem/cfc/integration/service/DanReportParseServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/DataMigrationServiceTest.java cfc-backend 11 DataMigrationService cfc-backend/src/test/java/com/etotem/cfc/integration/service/DataMigrationServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/DimensionEnergySyncServiceTest.java cfc-backend 5 DimensionEnergySyncService cfc-backend/src/test/java/com/etotem/cfc/integration/service/DimensionEnergySyncServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/DimensionScoreServiceTest.java cfc-backend 21 DimensionScoreService cfc-backend/src/test/java/com/etotem/cfc/integration/service/DimensionScoreServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/FamilyFoodOverviewServiceTest.java cfc-backend 9 FamilyFoodOverviewService cfc-backend/src/test/java/com/etotem/cfc/integration/service/FamilyFoodOverviewServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/FiveDimensionSelfCheckServiceTest.java cfc-backend 2 FiveDimensionSelfCheckService cfc-backend/src/test/java/com/etotem/cfc/integration/service/FiveDimensionSelfCheckServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/FoodRecommendServiceTest.java cfc-backend 21 FoodRecommendService cfc-backend/src/test/java/com/etotem/cfc/integration/service/FoodRecommendServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/FoodServiceTest.java cfc-backend 12 FoodService cfc-backend/src/test/java/com/etotem/cfc/integration/service/FoodServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/FortuneServiceTest.java cfc-backend 4 FortuneService cfc-backend/src/test/java/com/etotem/cfc/integration/service/FortuneServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuideApplicationServiceTest.java cfc-backend 8 GuideApplicationService cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuideApplicationServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuideFamilyServiceTest.java cfc-backend 7 GuideFamilyService cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuideFamilyServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuideHierarchyServiceTest.java cfc-backend 10 GuideHierarchyService cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuideHierarchyServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuidePackageServiceTest.java cfc-backend 13 GuidePackageService cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuidePackageServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuidePackageTemplateServiceTest.java cfc-backend 6 GuidePackageTemplateService cfc-backend/src/test/java/com/etotem/cfc/integration/service/GuidePackageTemplateServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/MiniGameServiceTest.java cfc-backend 5 MiniGameService cfc-backend/src/test/java/com/etotem/cfc/integration/service/MiniGameServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/NutritionDeficiencyServiceTest.java cfc-backend 14 NutritionDeficiencyService cfc-backend/src/test/java/com/etotem/cfc/integration/service/NutritionDeficiencyServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/PdfParseServiceTest.java cfc-backend 11 PdfParseService cfc-backend/src/test/java/com/etotem/cfc/integration/service/PdfParseServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/RelationshipQuestionnaireServiceTest.java cfc-backend 5 RelationshipQuestionnaireService cfc-backend/src/test/java/com/etotem/cfc/integration/service/RelationshipQuestionnaireServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/ReportBlockAssemblerTest.java cfc-backend 6 ReportBlockAssembler cfc-backend/src/test/java/com/etotem/cfc/integration/service/ReportBlockAssemblerTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/ServiceContentServiceTest.java cfc-backend 6 ServiceContentService cfc-backend/src/test/java/com/etotem/cfc/integration/service/ServiceContentServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/ServiceTypeServiceTest.java cfc-backend 4 ServiceTypeService cfc-backend/src/test/java/com/etotem/cfc/integration/service/ServiceTypeServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/SupplySystemServiceTest.java cfc-backend 18 SupplySystemService cfc-backend/src/test/java/com/etotem/cfc/integration/service/SupplySystemServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/TaskServiceMinigameTest.java cfc-backend 5 TaskServiceMinigame cfc-backend/src/test/java/com/etotem/cfc/integration/service/TaskServiceMinigameTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/TeacherLoginTest.java cfc-backend 4 TeacherLogin cfc-backend/src/test/java/com/etotem/cfc/integration/service/TeacherLoginTest.java
cfc-backend/src/test/java/com/etotem/cfc/integration/service/impl/DimensionScoreServiceImplTest.java cfc-backend 6 DimensionScoreServiceImpl cfc-backend/src/test/java/com/etotem/cfc/integration/service/impl/DimensionScoreServiceImplTest.java
cfc-backend/src/test/java/com/etotem/cfc/orchestration/OrchestrationEngineTest.java cfc-backend 8 OrchestrationEngine cfc-backend/src/test/java/com/etotem/cfc/orchestration/OrchestrationEngineTest.java
cfc-backend/src/test/java/com/etotem/cfc/orchestration/OrchestrationIntegrationTest.java cfc-backend 7 Orchestration cfc-backend/src/test/java/com/etotem/cfc/orchestration/OrchestrationIntegrationTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ActivityOrderServiceTest.java cfc-backend 15 ActivityOrderService cfc-backend/src/test/java/com/etotem/cfc/service/ActivityOrderServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ActivityRegistrationQuotaConcurrencyTest.java cfc-backend 6 ActivityRegistrationQuotaConcurrency cfc-backend/src/test/java/com/etotem/cfc/service/ActivityRegistrationQuotaConcurrencyTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/AiGatewayTimeoutTest.java cfc-backend 1 AiGatewayTimeout cfc-backend/src/test/java/com/etotem/cfc/service/AiGatewayTimeoutTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ArticleAudioServiceChunkFilterTest.java cfc-backend 3 ArticleAudioServiceChunkFilter cfc-backend/src/test/java/com/etotem/cfc/service/ArticleAudioServiceChunkFilterTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfBalanceServiceTest.java cfc-backend 25 CfBalanceService cfc-backend/src/test/java/com/etotem/cfc/service/CfBalanceServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfCommissionServiceSettleTest.java cfc-backend 12 CfCommissionServiceSettle cfc-backend/src/test/java/com/etotem/cfc/service/CfCommissionServiceSettleTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfCommissionServiceTest.java cfc-backend 2 CfCommissionService cfc-backend/src/test/java/com/etotem/cfc/service/CfCommissionServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfEarnDispatchServiceTest.java cfc-backend 8 CfEarnDispatchService cfc-backend/src/test/java/com/etotem/cfc/service/CfEarnDispatchServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfGrowthPathwayEarnServiceTest.java cfc-backend 16 CfGrowthPathwayEarnService cfc-backend/src/test/java/com/etotem/cfc/service/CfGrowthPathwayEarnServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfLegacyLedgerMigrationServiceTest.java cfc-backend 3 CfLegacyLedgerMigrationService cfc-backend/src/test/java/com/etotem/cfc/service/CfLegacyLedgerMigrationServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfLegacyLedgerWiringTest.java cfc-backend 5 CfLegacyLedgerWiring cfc-backend/src/test/java/com/etotem/cfc/service/CfLegacyLedgerWiringTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfPathwayEarnServiceTest.java cfc-backend 32 CfPathwayEarnService cfc-backend/src/test/java/com/etotem/cfc/service/CfPathwayEarnServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfReferralServiceSalesTierTest.java cfc-backend 11 CfReferralServiceSalesTier cfc-backend/src/test/java/com/etotem/cfc/service/CfReferralServiceSalesTierTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfSpendDispatchServiceTest.java cfc-backend 11 CfSpendDispatchService cfc-backend/src/test/java/com/etotem/cfc/service/CfSpendDispatchServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CfTransferServiceTest.java cfc-backend 6 CfTransferService cfc-backend/src/test/java/com/etotem/cfc/service/CfTransferServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/CommissionDistService410Test.java cfc-backend 4 CommissionDistService410 cfc-backend/src/test/java/com/etotem/cfc/service/CommissionDistService410Test.java
cfc-backend/src/test/java/com/etotem/cfc/service/CommissionServiceReferralF24Test.java cfc-backend 5 CommissionServiceReferralF24 cfc-backend/src/test/java/com/etotem/cfc/service/CommissionServiceReferralF24Test.java
cfc-backend/src/test/java/com/etotem/cfc/service/ConsigneeServiceBackfillTest.java cfc-backend 2 ConsigneeServiceBackfill cfc-backend/src/test/java/com/etotem/cfc/service/ConsigneeServiceBackfillTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/EnergyServiceFamilyTest.java cfc-backend 2 EnergyServiceFamily cfc-backend/src/test/java/com/etotem/cfc/service/EnergyServiceFamilyTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/EnergyServiceGrantEnergyTest.java cfc-backend 2 EnergyServiceGrantEnergy cfc-backend/src/test/java/com/etotem/cfc/service/EnergyServiceGrantEnergyTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/EnergyServiceWealthIncomeTest.java cfc-backend 4 EnergyServiceWealthIncome cfc-backend/src/test/java/com/etotem/cfc/service/EnergyServiceWealthIncomeTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/FamilyAdminOverviewServiceTest.java cfc-backend 3 FamilyAdminOverviewService cfc-backend/src/test/java/com/etotem/cfc/service/FamilyAdminOverviewServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/FamilyJoinRequestServiceReferrerBindTest.java cfc-backend 5 FamilyJoinRequestServiceReferrerBind cfc-backend/src/test/java/com/etotem/cfc/service/FamilyJoinRequestServiceReferrerBindTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/FamilyMemberServiceIsChildTest.java cfc-backend 5 FamilyMemberServiceIsChild cfc-backend/src/test/java/com/etotem/cfc/service/FamilyMemberServiceIsChildTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/FamilyPlatformPointsServiceCouponTest.java cfc-backend 5 FamilyPlatformPointsServiceCoupon cfc-backend/src/test/java/com/etotem/cfc/service/FamilyPlatformPointsServiceCouponTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/HealthReportServiceAuditConfirmTest.java cfc-backend 8 HealthReportServiceAuditConfirm cfc-backend/src/test/java/com/etotem/cfc/service/HealthReportServiceAuditConfirmTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/HealthReportServiceBackfillResilienceTest.java cfc-backend 5 HealthReportServiceBackfillResilience cfc-backend/src/test/java/com/etotem/cfc/service/HealthReportServiceBackfillResilienceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/HealthReportServiceIndicatorsTest.java cfc-backend 3 HealthReportServiceIndicators cfc-backend/src/test/java/com/etotem/cfc/service/HealthReportServiceIndicatorsTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/HealthReportServiceTest.java cfc-backend 8 HealthReportService cfc-backend/src/test/java/com/etotem/cfc/service/HealthReportServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorChangeServiceSemanticTest.java cfc-backend 20 IndicatorChangeServiceSemantic cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorChangeServiceSemanticTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorChangeServiceTest.java cfc-backend 23 IndicatorChangeService cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorChangeServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorCorrelationServiceTest.java cfc-backend 1 IndicatorCorrelationService cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorCorrelationServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorFavoriteServiceTest.java cfc-backend 6 IndicatorFavoriteService cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorFavoriteServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorMappingServiceTest.java cfc-backend 4 IndicatorMappingService cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorMappingServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorTimelineServiceTest.java cfc-backend 12 IndicatorTimelineService cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorTimelineServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorTrendServiceTest.java cfc-backend 9 IndicatorTrendService cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorTrendServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorValueMapperTest.java cfc-backend 1 IndicatorValueMapper cfc-backend/src/test/java/com/etotem/cfc/service/IndicatorValueMapperTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/MembershipPaySwitchTest.java cfc-backend 6 MembershipPaySwitch cfc-backend/src/test/java/com/etotem/cfc/service/MembershipPaySwitchTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/MembershipServiceAiGateTest.java cfc-backend 12 MembershipServiceAiGate cfc-backend/src/test/java/com/etotem/cfc/service/MembershipServiceAiGateTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/MembershipServiceTest.java cfc-backend 17 MembershipService cfc-backend/src/test/java/com/etotem/cfc/service/MembershipServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/NormalizeIndicatorPipelineTest.java cfc-backend 3 NormalizeIndicatorPipeline cfc-backend/src/test/java/com/etotem/cfc/service/NormalizeIndicatorPipelineTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/NumSoulCalculatorTest.java cfc-backend 5 NumSoulCalculator cfc-backend/src/test/java/com/etotem/cfc/service/NumSoulCalculatorTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/PaymentServiceORDRoutingTest.java cfc-backend 3 PaymentServiceORDRouting cfc-backend/src/test/java/com/etotem/cfc/service/PaymentServiceORDRoutingTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/PlatformPointsServiceTest.java cfc-backend 9 PlatformPointsService cfc-backend/src/test/java/com/etotem/cfc/service/PlatformPointsServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/PointsExchangeServiceTest.java cfc-backend 4 PointsExchangeService cfc-backend/src/test/java/com/etotem/cfc/service/PointsExchangeServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ProductOrderServiceFulfillmentMultiModeTest.java cfc-backend 6 ProductOrderServiceFulfillmentMultiMode cfc-backend/src/test/java/com/etotem/cfc/service/ProductOrderServiceFulfillmentMultiModeTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ProductOrderServiceSpecialDealTest.java cfc-backend 8 ProductOrderServiceSpecialDeal cfc-backend/src/test/java/com/etotem/cfc/service/ProductOrderServiceSpecialDealTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ProductOrderServiceUpdateExpressFieldTest.java cfc-backend 3 ProductOrderServiceUpdateExpressField cfc-backend/src/test/java/com/etotem/cfc/service/ProductOrderServiceUpdateExpressFieldTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/RealNameBackfillServiceTest.java cfc-backend 8 RealNameBackfillService cfc-backend/src/test/java/com/etotem/cfc/service/RealNameBackfillServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ReportAnalyzeQuotaServiceTest.java cfc-backend 6 ReportAnalyzeQuotaService cfc-backend/src/test/java/com/etotem/cfc/service/ReportAnalyzeQuotaServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ReportDateExtractorTest.java cfc-backend 6 ReportDateExtractor cfc-backend/src/test/java/com/etotem/cfc/service/ReportDateExtractorTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/ReportSummaryServiceCompletenessTest.java cfc-backend 1 ReportSummaryServiceCompleteness cfc-backend/src/test/java/com/etotem/cfc/service/ReportSummaryServiceCompletenessTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/SpecialPriceServiceTest.java cfc-backend 9 SpecialPriceService cfc-backend/src/test/java/com/etotem/cfc/service/SpecialPriceServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/TaskServiceCfEarnTest.java cfc-backend 4 TaskServiceCfEarn cfc-backend/src/test/java/com/etotem/cfc/service/TaskServiceCfEarnTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/TencentTtsServiceAuthorizationTest.java cfc-backend 4 TencentTtsServiceAuthorization cfc-backend/src/test/java/com/etotem/cfc/service/TencentTtsServiceAuthorizationTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/UserAddressServiceBackfillTest.java cfc-backend 2 UserAddressServiceBackfill cfc-backend/src/test/java/com/etotem/cfc/service/UserAddressServiceBackfillTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/UserServiceEffectiveFamilyIdsTest.java cfc-backend 5 UserServiceEffectiveFamilyIds cfc-backend/src/test/java/com/etotem/cfc/service/UserServiceEffectiveFamilyIdsTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/UserServiceFamilyNameLinkTest.java cfc-backend 2 UserServiceFamilyNameLink cfc-backend/src/test/java/com/etotem/cfc/service/UserServiceFamilyNameLinkTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/WishServiceTest.java cfc-backend 4 WishService cfc-backend/src/test/java/com/etotem/cfc/service/WishServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/WithdrawalServiceTest.java cfc-backend 6 WithdrawalService cfc-backend/src/test/java/com/etotem/cfc/service/WithdrawalServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/impl/CfGrowthEarnCallSiteTest.java cfc-backend 4 CfGrowthEarnCallSite cfc-backend/src/test/java/com/etotem/cfc/service/impl/CfGrowthEarnCallSiteTest.java
cfc-backend/src/test/java/com/etotem/cfc/service/impl/PurchaseServiceImplRenewalTest.java cfc-backend 4 PurchaseServiceImplRenewal cfc-backend/src/test/java/com/etotem/cfc/service/impl/PurchaseServiceImplRenewalTest.java
cfc-backend/src/test/java/com/etotem/cfc/task/OrderTimeoutCancelTaskSpecialDealTest.java cfc-backend 3 OrderTimeoutCancelTaskSpecialDeal cfc-backend/src/test/java/com/etotem/cfc/task/OrderTimeoutCancelTaskSpecialDealTest.java
cfc-backend/src/test/java/com/etotem/cfc/task/TaskCheckinWebhookReminderTaskTest.java cfc-backend 7 TaskCheckinWebhookReminderTask cfc-backend/src/test/java/com/etotem/cfc/task/TaskCheckinWebhookReminderTaskTest.java
cfc-backend/src/test/java/com/etotem/cfc/task/VirtualPayTimeoutTaskTest.java cfc-backend 5 VirtualPayTimeoutTask cfc-backend/src/test/java/com/etotem/cfc/task/VirtualPayTimeoutTaskTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityAuditTest.java cfc-backend 10 ActivityAudit cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityAuditTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityRegistrationListTest.java cfc-backend 3 ActivityRegistrationList cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityRegistrationListTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityRegistrationQuotaUnitTest.java cfc-backend 8 ActivityRegistrationQuotaUnit cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityRegistrationQuotaUnitTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityRegistrationRejectTest.java cfc-backend 3 ActivityRegistrationReject cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityRegistrationRejectTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityTagServiceTest.java cfc-backend 5 ActivityTagService cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityTagServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityTeamServiceUnitTest.java cfc-backend 12 ActivityTeamServiceUnit cfc-backend/src/test/java/com/etotem/cfc/unit/ActivityTeamServiceUnitTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ArticleAutoTagServiceTest.java cfc-backend 8 ArticleAutoTagService cfc-backend/src/test/java/com/etotem/cfc/unit/ArticleAutoTagServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ArticleBackfillTest.java cfc-backend 2 ArticleBackfill cfc-backend/src/test/java/com/etotem/cfc/unit/ArticleBackfillTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ArticleRelatedServiceTest.java cfc-backend 6 ArticleRelatedService cfc-backend/src/test/java/com/etotem/cfc/unit/ArticleRelatedServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/AttributionAdjustServiceTest.java cfc-backend 5 AttributionAdjustService cfc-backend/src/test/java/com/etotem/cfc/unit/AttributionAdjustServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/AttributionPipelineMockTest.java cfc-backend 2 AttributionPipelineMock cfc-backend/src/test/java/com/etotem/cfc/unit/AttributionPipelineMockTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/AttributionPlanServiceTest.java cfc-backend 2 AttributionPlanService cfc-backend/src/test/java/com/etotem/cfc/unit/AttributionPlanServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/AttributionRedlinesTest.java cfc-backend 8 AttributionRedlines cfc-backend/src/test/java/com/etotem/cfc/unit/AttributionRedlinesTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/CartReplaceComboTest.java cfc-backend 5 CartReplaceCombo cfc-backend/src/test/java/com/etotem/cfc/unit/CartReplaceComboTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/CfBalanceControllerTest.java cfc-backend 8 CfBalanceController cfc-backend/src/test/java/com/etotem/cfc/unit/CfBalanceControllerTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ComboOfferCalculatorTest.java cfc-backend 8 ComboOfferCalculator cfc-backend/src/test/java/com/etotem/cfc/unit/ComboOfferCalculatorTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ComboOrderStockTest.java cfc-backend 3 ComboOrderStock cfc-backend/src/test/java/com/etotem/cfc/unit/ComboOrderStockTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ComboServiceTest.java cfc-backend 10 ComboService cfc-backend/src/test/java/com/etotem/cfc/unit/ComboServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ConditionEvaluatorServiceTest.java cfc-backend 12 ConditionEvaluatorService cfc-backend/src/test/java/com/etotem/cfc/unit/ConditionEvaluatorServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberDimensionBaseScoreServiceTest.java cfc-backend 7 FamilyMemberDimensionBaseScoreService cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberDimensionBaseScoreServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberServiceRenameTest.java cfc-backend 4 FamilyMemberServiceRename cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyMemberServiceRenameTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyNamingSupportTest.java cfc-backend 5 FamilyNamingSupport cfc-backend/src/test/java/com/etotem/cfc/unit/FamilyNamingSupportTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/FiveDimensionScoreServiceTest.java cfc-backend 12 FiveDimensionScoreService cfc-backend/src/test/java/com/etotem/cfc/unit/FiveDimensionScoreServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/GuideFamilyAccessGuardTest.java cfc-backend 9 GuideFamilyAccessGuard cfc-backend/src/test/java/com/etotem/cfc/unit/GuideFamilyAccessGuardTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/GuideFamilyQueryServiceTest.java cfc-backend 4 GuideFamilyQueryService cfc-backend/src/test/java/com/etotem/cfc/unit/GuideFamilyQueryServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/GuideFamilyServiceBindTest.java cfc-backend 3 GuideFamilyServiceBind cfc-backend/src/test/java/com/etotem/cfc/unit/GuideFamilyServiceBindTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/GuidePlanReviewControllerAuthTest.java cfc-backend 6 GuidePlanReviewControllerAuth cfc-backend/src/test/java/com/etotem/cfc/unit/GuidePlanReviewControllerAuthTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/HealthPlanDeleteCascadeTest.java cfc-backend 6 HealthPlanDeleteCascade cfc-backend/src/test/java/com/etotem/cfc/unit/HealthPlanDeleteCascadeTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/HealthPlanLazyBackfillTest.java cfc-backend 5 HealthPlanLazyBackfill cfc-backend/src/test/java/com/etotem/cfc/unit/HealthPlanLazyBackfillTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/HealthPlanReviewGuardTest.java cfc-backend 10 HealthPlanReviewGuard cfc-backend/src/test/java/com/etotem/cfc/unit/HealthPlanReviewGuardTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/KnowledgeBaseBackfillTest.java cfc-backend 9 KnowledgeBaseBackfill cfc-backend/src/test/java/com/etotem/cfc/unit/KnowledgeBaseBackfillTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/MemberPriceResolverTest.java cfc-backend 6 MemberPriceResolver cfc-backend/src/test/java/com/etotem/cfc/unit/MemberPriceResolverTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ProductDTOMappingTest.java cfc-backend 3 ProductDTOMapping cfc-backend/src/test/java/com/etotem/cfc/unit/ProductDTOMappingTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ProductListNutritionTagFilterTest.java cfc-backend 2 ProductListNutritionTagFilter cfc-backend/src/test/java/com/etotem/cfc/unit/ProductListNutritionTagFilterTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ProductUpdateClearTest.java cfc-backend 5 ProductUpdateClear cfc-backend/src/test/java/com/etotem/cfc/unit/ProductUpdateClearTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/RecommendationNutritionTagTest.java cfc-backend 1 RecommendationNutritionTag cfc-backend/src/test/java/com/etotem/cfc/unit/RecommendationNutritionTagTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/RepeatTaskGeneratorPassThroughTest.java cfc-backend 3 RepeatTaskGeneratorPassThrough cfc-backend/src/test/java/com/etotem/cfc/unit/RepeatTaskGeneratorPassThroughTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ReviewCenterSummaryTest.java cfc-backend 3 ReviewCenterSummary cfc-backend/src/test/java/com/etotem/cfc/unit/ReviewCenterSummaryTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ServiceRoleApproveTest.java cfc-backend 6 ServiceRoleApprove cfc-backend/src/test/java/com/etotem/cfc/unit/ServiceRoleApproveTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/ServiceRoleFilterTest.java cfc-backend 3 ServiceRoleFilter cfc-backend/src/test/java/com/etotem/cfc/unit/ServiceRoleFilterTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/TaskPlanServiceTest.java cfc-backend 4 TaskPlanService cfc-backend/src/test/java/com/etotem/cfc/unit/TaskPlanServiceTest.java
cfc-backend/src/test/java/com/etotem/cfc/unit/TaskProgressUpdateTest.java cfc-backend 3 TaskProgressUpdate cfc-backend/src/test/java/com/etotem/cfc/unit/TaskProgressUpdateTest.java
cfc-backend/src/test/java/com/etotem/cfc/util/CfFormulaEvaluatorTest.java cfc-backend 8 CfFormulaEvaluator cfc-backend/src/test/java/com/etotem/cfc/util/CfFormulaEvaluatorTest.java
cfc-backend/src/test/java/com/etotem/cfc/util/SpearmanUtilTest.java cfc-backend 6 SpearmanUtil cfc-backend/src/test/java/com/etotem/cfc/util/SpearmanUtilTest.java
cfc-backend/src/test/java/com/etotem/cfc/util/UserUtilTest.java cfc-backend 6 UserUtil cfc-backend/src/test/java/com/etotem/cfc/util/UserUtilTest.java

六、用户场景(tests/user-scenarios/*.md,上游输入)

文件 来源
tests/user-scenarios/01-guest.md tests/user-scenarios/01-guest.md
tests/user-scenarios/02-parent.md tests/user-scenarios/02-parent.md
tests/user-scenarios/03-child.md tests/user-scenarios/03-child.md
tests/user-scenarios/04-teacher.md tests/user-scenarios/04-teacher.md
tests/user-scenarios/05-admin.md tests/user-scenarios/05-admin.md
tests/user-scenarios/06-vendor.md tests/user-scenarios/06-vendor.md
tests/user-scenarios/07-five-dimension.md tests/user-scenarios/07-five-dimension.md
tests/user-scenarios/README.md tests/user-scenarios/README.md
tests/user-scenarios/应用场景总览.md tests/user-scenarios/应用场景总览.md

七、回写进展机制(不破坏原项目结构)

进度不写回 tests/ 与 cfc-backend/src/test/java 下的原始测试文件,而是落在本地侧车:

// .tdd/test-progress.json(与 config.json 同目录,本地不推送)
{
  "schema": "tdd-test-progress/v1",
  "sources": [ { "anchor", "source_type", "source_path", "local_id", ...meta }, ... ],
  "progress": { "<anchor>": { "status": "pass|fail|executed|blocked|untracked", "at": ISO, "by": "", "note": "" } }
}
  • anchor = source_path#local_id(如 tests/test-cases/admin.md#TC-A-01)。
  • 回写时仅更新 progress[anchor];原始 .md/.spec.js/.py 一律不动,原项目结构零侵入。
  • 用 test_inventory.py --emit-progress 可(重新)播种 anchors(保留已有 progress)。
  • 共享自动化状态:本脚本默认生成 docs/tdd/test/automation-status.md(团队共享),按 anchor 标注「自动化状态 + 执行状态」;本地侧车 .tdd/test-progress.json 不推送。