Files
hms/docs/qa/role-test-plans/R01-admin.md
iven 6d5a711d2c
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
fix: 修复测试发现的 7 个问题 + 全 workspace clippy 清零
功能修复:
1. 患者创建空名称验证:后端添加 name.trim().is_empty() 检查
2. 仪表盘统计容错:单个查询失败返回零值而非 500
3. FHIR 路由修复:从 /fhir 移到 /api/v1/fhir 保持一致
4. 冻结模块后端中间件:新增 frozen_module_middleware 拦截冻结路径
5. 积分端点权限码:health.health-data.list → health.points.list
6. 角色权限迁移:护士补充 devices.list,运营补充 points.list/manage
7. 测试结果文档:R01-R05 角色测试 + T00/T10 结果归档

Clippy 全 workspace 清零(14→0 errors):
- erp-core: 修复 empty doc line、collapsible if、redundant closure 等 9 处
- erp-health: 修复 too_many_arguments、unused var、unnecessary parens 等 58 处
- erp-ai: 修复 dead_code、unused import 等 11 处
- erp-plugin: 修复 too_many_arguments、wildcard pattern 等 11 处
- erp-server-migration: 修复 enum_variant_names 5 处
- erp-auth/config/workflow/message: 各 1-3 处

工程改进:
- lint-staged 配置迁移到 .lintstagedrc.js(函数式避免文件列表传给 clippy)
- cargo fmt 统一格式化
2026-05-07 23:43:14 +08:00

9.4 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 → 新增/编辑/删除 标签变更同步到患者筛选器和医护视图
X.4 随访指派验证 admin 创建随访 → 用 nurse_test 登录 护士可在随访列表看到该任务
X.5 咨询回复可见 doctor 回复咨询 → admin 查看 admin 可看到完整对话历史
X.6 文章发布同步 发布文章 → 小程序患者端验证 患者端可见已发布内容
X.7 积分商品同步 上架商品 → 小程序患者端验证 患者端积分商城可见新商品
X.8 告警联动 创建告警相关阈值 → 模拟异常 → 验证告警生成 告警出现在仪表盘和行动收件箱

12. 事件链路验证

admin 可验证所有事件的发布和消费

# 事件链路 触发操作 验证方式 通过
E.1 patient.created 创建患者 domain_events 表出现记录
E.2 patient.updated 编辑患者信息 事件记录更新
E.3 follow_up.created 创建随访任务 事件触发,行动收件箱可见
E.4 follow_up.completed 完成随访录入 事件触发,状态变更同步
E.5 consultation.opened 患者发起咨询 咨询出现在医护列表
E.6 alert.triggered 体征超阈值 告警出现在仪表盘
E.7 article.published 发布文章 事件触发,患者端可见

12. 权限验证

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

13. 小程序端

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

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

测试结果

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