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

166 lines
9.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 | 体征录入 | 健康页 → 录入体征 | 可录入血压/心率/血糖/体重 | ☐ |
## 测试结果
- 测试人: _________
- 测试日期: _________
- 通过数: ___ / 总数: ___
- 问题记录: