Files
hms/docs/qa/role-test-plans/R01-admin.md
iven 43f0ba7057
Some checks failed
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
fix(web): 修复角色测试发现的权限守卫、API 500、权限配置问题
1. CRITICAL: 前端路由权限守卫 — routePermissions 从 3 条扩展到 31 条,
   覆盖全部 /health/* 路由;匹配逻辑从宽松模块级前缀改为精确权限码匹配
2. HIGH: health-data API 500 — jsonb_array_elements() 添加 CASE WHEN 类型守卫,
   防止 items 字段为非数组 JSON 时崩溃
3. MEDIUM: Doctor 补充 ai.prompt.list、ai.usage.list、follow-up-templates 权限
4. Operator 清理 AI 分析、统计报表菜单关联
5. 更新 5 角色测试计划文档
2026-05-06 22:29:54 +08:00

8.1 KiB
Raw Blame History

R01 — Admin系统管理员业务场景测试计划

角色: admin | 测试账号: admin / Admin@2026 | 菜单数: 45 | 范围: 全部功能

1. 登录 & 仪表盘

# 测试项 操作 预期结果 通过
1.1 登录 输入 admin / Admin@2026 成功登录,左侧菜单 45 项
1.2 工作台仪表盘 查看首页 显示:注册用户数、业务模块数、今日操作、本周活跃;模块状态"运行中"
1.3 最近操作记录 查看操作日志 按时间倒序显示登录/操作记录

2. 场景 A — 患者建档全链路

业务链: 创建患者 → 打标签 → 绑定设备 → 签署知情同意 → 验证建档完整性

# 步骤 操作 预期结果 通过
A.1 创建患者 /health/patients → 新增 → 填写姓名/身份证/手机/出生日期 → 保存 患者出现在列表,状态 active
A.2 患者详情 点击新患者卡片 显示基本信息、体征数据 Tab、操作记录
A.3 打标签 /health/tags → 新增标签"高血压高危"(红色)→ 回到患者详情 → 分配标签 标签显示在患者卡片和详情页
A.4 绑定设备 /health/devices → 查看设备列表 → 记录设备绑定状态 设备列表显示绑定关系
A.5 知情同意 /health/consents → 查看记录 知情同意书列表可查看
A.6 验证完整性 回到患者列表 → 搜索新患者 患者信息完整(姓名+标签+设备状态)

交接点: 患者建档完成后doctor/nurse/health_manager 可在各自视图中看到该患者。

3. 场景 B — 随访闭环(管理视角)

业务链: 查看 admin 创建的随访 → 确认状态流转 → 验证行动收件箱联动

# 步骤 操作 预期结果 通过
B.1 创建随访 /health/follow-up-tasks → 新增 → 选患者+随访类型+计划日期 → 保存 随访任务创建成功,状态 pending
B.2 随访列表 按状态筛选:待办/进行中/已完成 筛选正确,数据一致
B.3 查看模板 /health/follow-up-templates → 查看模板内容 模板列表显示结构和字段
B.4 行动收件箱 /health/action-inbox → 筛选类型 显示 AI 建议/告警/随访等行动项

4. 场景 C — 咨询流转(管理视角)

业务链: 查看咨询列表 → 查看对话详情

# 步骤 操作 预期结果 通过
C.1 咨询列表 /health/consultations → 按状态筛选 显示 waiting/active/closed 状态的咨询
C.2 对话详情 点击某条咨询 → 查看对话 显示完整消息历史

5. 场景 D — 告警处理链

业务链: 配置危急值阈值 → 查看告警仪表盘 → 处理告警 → 验证状态变更

# 步骤 操作 预期结果 通过
D.1 危急值阈值 /health/critical-value-thresholds → 查看配置 显示各体征指标的阈值范围
D.2 告警仪表盘 /health/alert-dashboard → 查看统计 按严重程度分类显示告警
D.3 告警处理 点击某条告警 → 标记已确认/已处理 告警状态从 pending → acknowledged/resolved
D.4 实时监控 /health/realtime-monitor → 查看面板 显示实时体征数据流
D.5 BLE 网关 /health/ble-gateways → 查看 网关列表显示连接状态

6. 场景 E — AI 分析链

业务链: 配置 Prompt 模板 → 触发分析 → 查看结果 → 查看用量

# 步骤 操作 预期结果 通过
E.1 Prompt 管理 /health/ai-prompts → 查看模板列表 显示 Prompt 模板,可编辑
E.2 触发分析 /health/ai-analysis → 查看历史记录 显示分析记录和结果
E.3 AI 用量 /health/ai-usage → 查看统计 显示调用次数、token 消耗统计

7. 场景 F — 内容发布链

业务链: 创建文章 → 编辑内容 → 发布 → 验证已发布状态

# 步骤 操作 预期结果 通过
F.1 创建文章 /health/articles → 新增 → 填写标题/内容 → 保存草稿 文章状态为 draft
F.2 编辑文章 点击草稿 → 修改内容 → 保存 内容更新成功
F.3 发布文章 点击发布 状态从 draft → published
F.4 下架文章 点击已发布文章 → 下架 状态变回 draft

8. 场景 G — 积分商城链

业务链: 配置积分规则 → 添加商品 → 查看订单

# 步骤 操作 预期结果 通过
G.1 积分规则 /health/points-rules → 查看规则列表 显示积分获取/消费规则
G.2 商品管理 /health/points-products → 新增商品 → 保存 商品出现在列表
G.3 订单管理 /health/points-orders → 查看订单 显示兑换订单列表

9. 场景 H — 线下活动链

# 步骤 操作 预期结果 通过
H.1 创建活动 /health/offline-events → 新增 → 填写信息 → 保存 活动创建成功
H.2 查看活动 列表中查看活动详情 显示报名人数、活动状态

10. 场景 I — 系统管理全链路

业务链: 用户 → 角色 → 组织 → 工作流 → 消息 → 设置 → 插件

# 步骤 操作 预期结果 通过
I.1 用户管理 /users → 搜索用户 → 查看详情 用户列表可搜索/分页/查看角色分配
I.2 角色管理 /roles → 查看角色详情 显示 doctor/nurse/health_manager/operator 角色及权限码
I.3 组织架构 /organizations → 展开树形结构 显示组织/部门/岗位层级
I.4 统计报表 /health/statistics → 查看 显示患者数/随访数/咨询数等图表
I.5 工作流 /workflow → 查看流程定义 显示已定义流程,可查看流程图
I.6 消息中心 /messages → 查看 消息列表,支持已读/未读标记
I.7 系统设置 /settings → 编辑 → 保存 配置项可编辑保存
I.8 插件管理 /plugins/admin → 查看插件列表 显示已安装插件,可启用/禁用
I.9 OAuth /health/oauth-clients → 查看 显示 OAuth 客户端列表

11. 跨角色协作验证

admin 作为系统管理员,验证以下跨角色协作点

# 协作场景 操作 预期结果 通过
X.1 医护管理 /health/doctors → 查看医护列表 显示科室、职称信息doctor 角色也能看到)
X.2 角色分配 /users → 编辑某用户 → 分配角色 角色变更后该用户菜单立即更新
X.3 标签管理 /health/tags → 新增/编辑/删除 标签变更同步到患者筛选器和医护视图

12. 权限验证

# 测试项 操作 预期结果 通过
12.1 全页面可访问 逐一点击左侧 45 个菜单 每个路径正常打开,无 403
12.2 全按钮可见 进入各页面 新增/编辑/删除按钮均可见

13. 小程序端

admin 以普通用户身份使用小程序isMedicalStaff=false

# 测试项 操作 预期结果 通过
13.1 登录跳转 admin 登录小程序 跳转到患者首页(非医护工作台)
13.2 体征完成度 查看首页 显示今日体征 4 指标完成度
13.3 体征录入 健康页 → 录入体征 可录入血压/心率/血糖/体重

测试结果

  • 测试人: _________
  • 测试日期: _________
  • 通过数: ___ / 总数: ___
  • 问题记录: