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

5.8 KiB
Raw Blame History

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 患者首页 查看首页 显示体征完成度、今日待办、快捷操作(普通患者视图)

测试结果

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