Files
hms/docs/qa/role-test-plans/R05-operator.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

123 lines
5.8 KiB
Markdown
Raw 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.
# R05 — Operator运营人员业务场景测试计划
> 角色: operator | 测试账号: operator_test / Admin@2026 | 菜单数: 24 | 重点: 内容运营与积分商城
## 1. 登录 & 仪表盘
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|--------|------|----------|------|
| 1.1 | 登录 | 输入 operator_test / Admin@2026 | 成功登录,左侧菜单 24 项 | ☐ |
| 1.2 | 运营仪表盘 | 查看首页 | 显示"运营仪表盘":运营洞察、积分动态(今日发放/消费)、内容矩阵(已发布/草稿)、今日待办 | ☐ |
| 1.3 | AI 摘要 | 查看顶部 AI 摘要 | 显示 AI 生成的运营重点摘要 | ☐ |
| 1.4 | 快捷操作 | 查看按钮 | 审核积分订单、发布新文章、推送活动提醒 | ☐ |
## 2. 场景 A — 患者与标签管理
> **业务链**: 管理标签 → 查看患者(只读)
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| A.1 | 标签管理 | /health/tags → 新增"术后康复"标签 → 编辑 → 保存 | 标签 CRUD 正常(有 tags.manage | ☐ |
| A.2 | 患者列表 | /health/patients → 查看列表 | 只读查看,确认新增按钮是否隐藏(有 patient.list 无 manage | ☐ |
| A.3 | 患者搜索 | 搜索框输入 → 标签筛选 | 搜索和筛选正常 | ☐ |
**交接点**: 标签创建后,医护角色可在患者筛选中使用。
## 3. 场景 B — 内容发布链
> **业务链**: 创建文章 → 编辑 → 提交审核 → 发布 → 验证已发布
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| B.1 | 创建文章 | /health/articles → 新增 → 填写标题/内容 → 保存草稿 | 文章状态 draft | ☐ |
| B.2 | 编辑文章 | 点击草稿 → 修改内容 → 保存 | 内容更新 | ☐ |
| B.3 | 发布文章 | 点击发布 | 状态 draft → published有 articles.manage 和 articles.review | ☐ |
| B.4 | 内容矩阵 | 回到运营仪表盘 → 查看内容矩阵 | 已发布/草稿数量更新 | ☐ |
**交接点**: 已发布文章患者端小程序可见。
## 4. 场景 C — 积分商城链
> **业务链**: 配置积分规则 → 上架商品 → 查看订单
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| C.1 | 积分规则 | /health/points-rules → 查看 → 编辑规则 | 可管理积分规则 | ☐ |
| C.2 | 新增商品 | /health/points-products → 新增 → 填写名称/积分/库存 → 保存 | 商品出现在列表 | ☐ |
| C.3 | 订单管理 | /health/points-orders → 查看订单列表 | 显示兑换订单 | ☐ |
| C.4 | 积分动态 | 回到运营仪表盘 → 查看积分动态 | 今日发放/消费数据更新 | ☐ |
**交接点**: 商品上架后,患者端小程序积分商城可见可兑换。
## 5. 场景 D — 线下活动链
> **业务链**: 创建活动 → 查看报名 → 管理
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| D.1 | 创建活动 | /health/offline-events → 新增 → 填写名称/时间/地点 → 保存 | 活动创建成功 | ☐ |
| D.2 | 查看活动 | 列表查看活动详情 | 显示报名人数、活动状态 | ☐ |
## 6. 场景 E — 设备与告警查看
> **业务链**: 查看设备状态 → 查看告警统计
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| E.1 | 设备管理 | /health/devices → 查看列表 | 只读查看(无 devices.manage | ☐ |
| E.2 | 告警仪表盘 | /health/alert-dashboard → 查看 | 只读查看(只有 alerts.list确认操作按钮不可用 | ☐ |
## 7. 场景 F — AI 用量
> **业务链**: 查看 AI 调用统计
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|------|------|----------|------|
| F.1 | AI 用量 | /health/ai-usage → 查看 | 只读查看 AI 调用量 | ☐ |
## 8. 消息
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|--------|------|----------|------|
| 8.1 | 消息列表 | /messages → 查看 | 只读消息列表 | ☐ |
## 9. 权限边界验证
> operator 不应访问的模块
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|--------|------|----------|------|
| 9.1 | 无用户管理 | 地址栏输入 /users | 403 | ☐ |
| 9.2 | 无医护管理 | 地址栏输入 /health/doctors | 403 | ☐ |
| 9.3 | 无随访管理 | 地址栏输入 /health/follow-up-tasks | 403 | ☐ |
| 9.4 | 无咨询管理 | 地址栏输入 /health/consultations | 403 | ☐ |
| 9.5 | 无诊断记录 | 地址栏输入 /health/diagnoses | 403 | ☐ |
| 9.6 | 无行动收件箱 | 地址栏输入 /health/action-inbox | 403 | ☐ |
| 9.7 | 无知情同意 | 地址栏输入 /health/consents | 403 | ☐ |
| 9.8 | 无 AI 分析 | 地址栏输入 /health/ai-analysis | 403 | ☐ |
| 9.9 | 无系统设置 | 地址栏输入 /settings | 403 | ☐ |
## 10. 跨角色协作验证
| # | 协作场景 | 操作 | 预期结果 | 通过 |
|---|----------|------|----------|------|
| X.1 | 标签共享 | 新建标签 → 用 doctor 账号验证 | doctor 可在患者筛选中使用新标签 | ☐ |
| X.2 | 内容发布同步 | 发布文章 → 验证患者端可见 | 小程序患者端可见已发布内容 | ☐ |
| X.3 | 积分订单联动 | 患者兑换商品 → 查看订单 | 订单出现在积分订单列表 | ☐ |
## 11. 小程序端(患者视角)
> operator 不在医护列表中,以普通患者身份使用小程序
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|--------|------|----------|------|
| 11.1 | 登录跳转 | operator_test 登录小程序 | 跳转到患者首页isMedicalStaff=false | ☐ |
| 11.2 | 患者首页 | 查看首页 | 显示体征完成度、今日待办、快捷操作(普通患者视图) | ☐ |
## 测试结果
- 测试人: _________
- 测试日期: _________
- 通过数: ___ / 总数: ___
- 问题记录: