我的预约(兽医)— 测试用例
依据:我的预约(兽医)功能需求.md、我的预约(兽医)技术方案.md
接口 Base Path:/diseaseTreatment/myAppointment/vet;鉴权与若依一致(Cookie / Token)。
通用前置(无特殊说明):兽医账号 A 已通过「畜牧医疗资源管理」为兽医 R1(resource_type=1、account_assigned=1、sys_user_id=A)分配账号并绑定角色 100;具备权限 diseaseTreatment:vetMyAppointment:list|query|confirm|reject|complete。biz_service_appointment 宜预置:
| 样本 |
归属 |
状态 |
要点 |
| A0 |
R1,provider_type=1 |
待确认 0 |
可操作确认/拒绝 |
| A1 |
R1 |
已确认 1 |
可操作完成接诊;canComplete=true |
| A2 |
R1 |
已拒绝 2 |
reject_reason 非空 |
| A3 |
R1 |
已取消 3 |
无确认/拒绝 |
| A4 |
R1 |
已完成 4 |
无评价入口(§3.3) |
| AX |
R2(另一兽医) |
待确认 0 |
账号 A 不可见/不可操作 |
| O1 |
机构 provider_type=2 |
已预约 5 |
兽医列表不可见 |
| E1 |
专家 provider_type=3 |
待确认 0 |
兽医列表不可见 |
拒绝 Body 片段:{"rejectReason":"时段冲突无法接诊"}(1~100 字,trim 后计数)。
界面(UI)测试:Playwright + Chromium(channel: 'chrome' 使用本机 Google Chrome);菜单示例「牧业疫病诊疗服务 → 我的预约(兽医)」。
一、单元测试用例
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| ZCZX-WDYYYS-UT-001 |
参数校验 |
拒绝理由空/空白 |
单元测试 |
JUnit5 |
§6.4、§9 |
无 |
validateRejectReason(null)、""、" " |
失败;msg 含「请填写拒绝理由」 |
| ZCZX-WDYYYS-UT-002 |
参数校验 |
拒绝理由长度 |
单元测试 |
JUnit5 |
§6.4 |
无 |
1 字、100 字、101 字(trim 后) |
1~100 通过;101 失败 |
| ZCZX-WDYYYS-UT-003 |
参数校验 |
预约日期范围 |
单元测试 |
JUnit5 |
§6.1、§9 |
无 |
startDate 晚于 endDate;相等;合法区间 |
前者失败;后两者通过 |
| ZCZX-WDYYYS-UT-004 |
状态规则 |
可确认/可拒绝 |
单元测试 |
JUnit5 |
§4.1、§7 |
无 |
canConfirmOrReject(0~4) |
仅 status=0 为 true |
| ZCZX-WDYYYS-UT-004a |
状态规则 |
可完成接诊 |
单元测试 |
JUnit5 |
§6.5、§7 |
无 |
canCompleteVetOrExpert(0~4) |
仅 status=1 为 true |
| ZCZX-WDYYYS-UT-005 |
状态规则 |
兽医合法状态集 |
单元测试 |
JUnit5 |
§4.1、技术方案 §2.2 |
无 |
校验 status=5 对兽医模块 |
非法或映射为空;列表筛选项无「已预约」 |
| ZCZX-WDYYYS-UT-006 |
状态展示 |
状态标签解析 |
单元测试 |
JUnit5 |
§6.1 |
无 |
resolveLabel(0)~resolveLabel(4) |
待确认/已确认/已拒绝/已取消/已完成 |
| ZCZX-WDYYYS-UT-007 |
范围解析 |
当前兽医 ID |
单元测试 |
JUnit5+Mockito |
§2.2、技术方案 §2.4 |
Mock 用户 A;库有 R1 |
resolveProviderId(userId) |
返回 R1.id |
| ZCZX-WDYYYS-UT-008 |
范围解析 |
未绑定兽医 |
单元测试 |
JUnit5+Mockito |
§9 |
用户无 biz_medical_resource 绑定 |
resolveProviderId |
返回 null 或 Optional.empty |
| ZCZX-WDYYYS-UT-009 |
Service |
列表 scope |
单元测试 |
JUnit5+Mockito |
§6.1 |
Mock Mapper;有 A0、AX |
selectList 账号 A |
查询条件含 provider_type=1、provider_id=R1;仅 A0 等 R1 记录 |
| ZCZX-WDYYYS-UT-010 |
Service |
确认成功 |
单元测试 |
JUnit5+Mockito |
§6.3 |
Mock A0(status=0) |
confirm(id) |
status=1;confirm_time 非空 |
| ZCZX-WDYYYS-UT-011 |
Service |
拒绝成功 |
单元测试 |
JUnit5+Mockito |
§6.4 |
Mock A0 |
reject(id, reason) |
status=2;reject_reason、reject_time 写入 |
| ZCZX-WDYYYS-UT-012 |
Service |
非待确认确认 |
单元测试 |
JUnit5+Mockito |
§6.3、§4.3 |
Mock A1 |
confirm |
抛错;msg「当前状态不允许确认接诊」 |
| ZCZX-WDYYYS-UT-013 |
Service |
非待确认拒绝 |
单元测试 |
JUnit5+Mockito |
§6.4 |
Mock A3 |
reject |
抛错;msg「当前状态不允许拒绝接诊」 |
| ZCZX-WDYYYS-UT-014 |
Service |
越权-他兽医记录 |
单元测试 |
JUnit5+Mockito |
§2.2 |
账号 A;目标 AX(R2) |
getById/confirm |
失败;msg「无权操作该预约记录」 |
| ZCZX-WDYYYS-UT-015 |
Service |
未绑定无法操作 |
单元测试 |
JUnit5+Mockito |
§9 |
无 R1 绑定 |
confirm/reject |
失败;msg「未绑定兽医资源,无法操作」 |
| ZCZX-WDYYYS-UT-016 |
Service |
幂等-重复确认 |
单元测试 |
JUnit5+Mockito |
§4.3 |
A0 已确认后再次 confirm |
第二次调用 |
失败;状态不允许 |
| ZCZX-WDYYYS-UT-017 |
Service |
并发-已取消后确认 |
单元测试 |
JUnit5+Mockito |
§4.3、§9 |
Mock 读库 status=3 |
confirm |
失败;msg 含已取消或状态不允许 |
| ZCZX-WDYYYS-UT-018 |
Mapper |
列表 SQL |
单元测试 |
JUnit5 |
§6.1、技术方案 §3.2 |
审阅 XML |
检查 selectList |
provider_type=1;provider_id=;姓名 LIKE;日期区间;status=;ORDER BY appoint_date DESC, create_time DESC |
| ZCZX-WDYYYS-UT-019 |
Mapper |
更新确认/拒绝 |
单元测试 |
JUnit5 |
§6.3~6.4 |
审阅 XML |
updateConfirm/updateReject |
按 id+provider 条件更新;不写 provider_id 来自前端 |
| ZCZX-WDYYYS-UT-020 |
Service |
完成接诊成功 |
单元测试 |
JUnit5+Mockito |
§6.5 |
Mock A1 |
complete(id) |
status=4;update_by 写入 |
| ZCZX-WDYYYS-UT-021 |
Service |
非已确认不可完成 |
单元测试 |
JUnit5+Mockito |
§6.5 |
Mock A0 |
complete |
失败;msg「当前状态不允许完成接诊」 |
| ZCZX-WDYYYS-UT-022 |
Mapper |
完成接诊 SQL |
单元测试 |
JUnit5 |
技术方案 §3.2 |
审阅 XML |
updateCompleteVetAppointment |
provider_type=1;status=1→4 |
二、接口测试用例
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| ZCZX-WDYYYS-API-001 |
列表 |
默认分页排序 |
接口测试 |
Postman |
§6.1 |
账号 A;有多条 R1 样本 |
GET /list |
code=200;rows≤20;appoint_date 倒序 |
| ZCZX-WDYYYS-API-002 |
列表 |
预约人模糊 |
接口测试 |
Postman |
§6.1 |
A0 预约人含「扎西」 |
appointeeName=扎 |
含 A0;不含无关人 |
| ZCZX-WDYYYS-API-003 |
列表 |
预约日期区间 |
接口测试 |
Postman |
§6.1 |
样本日期已知 |
startDate、endDate 含 A0 当天 |
含 A0;边界日包含 |
| ZCZX-WDYYYS-API-004 |
列表 |
状态精确筛选 |
接口测试 |
Postman |
§6.1 |
有 A2 已拒绝 |
status=2 |
均为已拒绝 |
| ZCZX-WDYYYS-API-005 |
列表 |
日期区间非法 |
接口测试 |
Postman |
§9 |
已登录 |
startDate 晚于 endDate |
code≠200;msg「结束日期不能早于开始日期」 |
| ZCZX-WDYYYS-API-006 |
列表 |
数据隔离-他兽医 |
接口测试 |
Postman |
§2.2 |
有 AX |
账号 A GET /list |
无 AX |
| ZCZX-WDYYYS-API-007 |
列表 |
数据隔离-机构/专家 |
接口测试 |
Postman |
§3.5 |
有 O1、E1 |
账号 A GET /list |
无 O1、E1 |
| ZCZX-WDYYYS-API-008 |
列表 |
未绑定兽医 |
接口测试 |
Postman |
§9 |
无绑定账号登录 |
GET /list |
空列表或 msg「未绑定兽医资源,无法查询预约」 |
| ZCZX-WDYYYS-API-009 |
列表 |
禁止传 providerId |
接口测试 |
Postman |
技术方案 §4.1 |
已登录 |
GET /list?providerId=伪造 |
仍以服务端 R1 为准;不可查他兽医数据 |
| ZCZX-WDYYYS-API-010 |
列表 |
状态 5 非法 |
接口测试 |
Postman |
§4.1 |
已登录 |
status=5 |
参数错误或空结果(以实现为准) |
| ZCZX-WDYYYS-API-011 |
详情 |
有效 id |
接口测试 |
Postman |
§6.2 |
有 A0 |
GET /{id} |
含时段、地址、需求、statusLabel |
| ZCZX-WDYYYS-API-012 |
详情 |
已拒绝含理由 |
接口测试 |
Postman |
§6.2 |
有 A2 |
GET /{A2.id} |
rejectReason 非空 |
| ZCZX-WDYYYS-API-013 |
详情 |
已完成无评价字段 |
接口测试 |
Postman |
§3.3 |
有 A4 |
GET /{A4.id} |
无星级/综合评价;无 reviewList 数据 |
| ZCZX-WDYYYS-API-014 |
详情 |
越权 id |
接口测试 |
Postman |
§2.2 |
有 AX |
账号 A GET /{AX.id} |
失败或无权 |
| ZCZX-WDYYYS-API-015 |
确认 |
待确认成功 |
接口测试 |
Postman |
§6.3 |
新建或 A0 |
POST /confirm/{id} |
code=200;库 status=1 |
| ZCZX-WDYYYS-API-016 |
确认 |
已确认禁止 |
接口测试 |
Postman |
§6.3、§7 |
有 A1 |
POST /confirm/{A1.id} |
失败;msg 不允许确认 |
| ZCZX-WDYYYS-API-017 |
确认 |
已取消禁止 |
接口测试 |
Postman |
§4.3、§9 |
有 A3 |
POST /confirm/{A3.id} |
失败;msg 含取消或不允许 |
| ZCZX-WDYYYS-API-018 |
确认 |
幂等重复 |
接口测试 |
Postman |
§4.3 |
A0 已确认 |
再次 confirm |
失败 |
| ZCZX-WDYYYS-API-019 |
拒绝 |
合法理由 |
接口测试 |
Postman |
§6.4 |
待确认新行 |
POST /reject/{id} Body 合法 |
code=200;status=2;理由落库 |
| ZCZX-WDYYYS-API-020 |
拒绝 |
理由为空 |
接口测试 |
Postman |
§6.4 |
待确认行 |
Body {} 或 rejectReason="" |
失败;请填写拒绝理由 |
| ZCZX-WDYYYS-API-021 |
拒绝 |
理由超长 |
接口测试 |
Postman |
§6.4 |
待确认行 |
101 字 |
失败;不能超过 100 字 |
| ZCZX-WDYYYS-API-022 |
拒绝 |
非待确认 |
接口测试 |
Postman |
§6.4 |
有 A1 |
POST /reject/{A1.id} |
失败;不允许拒绝 |
| ZCZX-WDYYYS-API-023 |
拒绝 |
越权 id |
接口测试 |
Postman |
§2.2 |
有 AX |
账号 A reject AX |
失败;无权 |
| ZCZX-WDYYYS-API-024 |
端到端 |
确认主流程 |
接口测试 |
Postman |
§8.1 |
新待确认行 |
list→GET→confirm→list |
状态变已确认;操作列有完成接诊 |
| ZCZX-WDYYYS-API-033 |
完成接诊 |
已确认成功 |
接口测试 |
Postman |
§6.5 |
有 A1 |
POST /complete/{A1.id} |
code=200;库 status=4 |
| ZCZX-WDYYYS-API-034 |
完成接诊 |
待确认禁止 |
接口测试 |
Postman |
§6.5 |
有 A0 |
POST /complete/{A0.id} |
失败;不允许完成接诊 |
| ZCZX-WDYYYS-API-035 |
完成接诊 |
已取消禁止 |
接口测试 |
Postman |
§6.5 |
有 A3 |
POST /complete/{A3.id} |
失败;含已取消或不允许 |
| ZCZX-WDYYYS-API-036 |
列表 |
canComplete 字段 |
接口测试 |
Postman |
§6.1 |
有 A0、A1 |
GET /list |
A1 行 canComplete=true;A0 为 false |
| ZCZX-WDYYYS-API-037 |
权限 |
无 complete 权限 |
接口测试 |
Postman |
§7 |
无 complete |
POST /complete/{id} |
无权限失败 |
| ZCZX-WDYYYS-API-038 |
端到端 |
完成接诊主流程 |
接口测试 |
Postman |
§8.1 |
A1 |
complete→list |
状态已完成;仅查看 |
| ZCZX-WDYYYS-API-025 |
端到端 |
拒绝主流程 |
接口测试 |
Postman |
§8.1 |
新待确认行 |
reject→GET→list |
已拒绝;列表/详情可见拒绝理由 |
| ZCZX-WDYYYS-API-026 |
端到端 |
筛选组合 |
接口测试 |
Postman |
§6.1 |
多样本 |
appointeeName+日期+status=0 |
结果同时满足 |
| ZCZX-WDYYYS-API-027 |
鉴权 |
未登录 |
接口测试 |
curl |
安全 |
无 Token |
GET /list |
401 或未登录 |
| ZCZX-WDYYYS-API-028 |
权限 |
无 list 权限 |
接口测试 |
Postman |
§7 |
无 list 角色 |
GET /list |
无权限失败 |
| ZCZX-WDYYYS-API-029 |
权限 |
无 confirm 权限 |
接口测试 |
Postman |
§7 |
仅 list/query |
POST /confirm/{id} |
无权限失败 |
| ZCZX-WDYYYS-API-030 |
权限 |
无 reject 权限 |
接口测试 |
Postman |
§7 |
仅 list/query |
POST /reject/{id} |
无权限失败 |
| ZCZX-WDYYYS-API-031 |
本期范围 |
无评价接口 |
接口测试 |
Postman |
§5.2、§3.3 |
有 A4 |
GET .../reviewList/{id} 等 |
404 或未实现 |
| ZCZX-WDYYYS-API-032 |
响应 |
失败 msg 可读 |
接口测试 |
Postman |
§9 |
已登录 |
触发越权、非待确认、空理由 |
msg 与 §9 语义一致 |
三、界面测试用例(UI)
测试工具:Playwright + Chromium(channel: 'chrome' 使用本机 Google Chrome)。
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| ZCZX-WDYYYS-UI-001 |
列表 |
页面与列展示 |
UI 测试 |
Playwright+Chrome |
§6.1 |
账号 A 登录;有样本 |
进入「我的预约(兽医)」 |
列含预约人、日期、时段、电话、地址、需求、状态、拒绝理由、操作 |
| ZCZX-WDYYYS-UI-002 |
列表 |
时段格式 |
UI 测试 |
Playwright+Chrome |
§6.1 |
有 A0 |
查看时段列 |
展示 HH:mm~HH:mm |
| ZCZX-WDYYYS-UI-003 |
列表 |
预约人筛选 |
UI 测试 |
Playwright+Chrome |
§6.1 |
有 A0 |
填预约人关键字→搜索 |
含匹配行 |
| ZCZX-WDYYYS-UI-004 |
列表 |
日期与状态筛选 |
UI 测试 |
Playwright+Chrome |
§6.1 |
有 A2 |
选日期区间+状态「已拒绝」→搜索 |
仅已拒绝行 |
| ZCZX-WDYYYS-UI-005 |
列表 |
日期非法提示 |
UI 测试 |
Playwright+Chrome |
§9 |
已登录 |
结束日期早于开始→搜索 |
提示「结束日期不能早于开始日期」;不发起错误请求或列表不变 |
| ZCZX-WDYYYS-UI-006 |
列表 |
重置 |
UI 测试 |
Playwright+Chrome |
§6.1 |
已筛选 |
搜索→点「重置」 |
条件清空;列表恢复 |
| ZCZX-WDYYYS-UI-007 |
列表 |
默认分页 |
UI 测试 |
Playwright+Chrome |
§6.1 |
>20 条 R1 数据 |
进入列表 |
每页 20 条;可翻页 |
| ZCZX-WDYYYS-UI-008 |
操作列 |
待确认按钮集 |
UI 测试 |
Playwright+Chrome |
§7 |
有 A0 |
查看 A0 操作列 |
有查看、确认接诊、拒绝接诊 |
| ZCZX-WDYYYS-UI-009 |
操作列 |
已确认可完成接诊 |
UI 测试 |
Playwright+Chrome |
§7 |
有 A1 |
查看 A1 操作列 |
有查看、完成接诊;无确认/拒绝 |
| ZCZX-WDYYYS-UI-009a |
操作列 |
已取消/已完成仅查看 |
UI 测试 |
Playwright+Chrome |
§7 |
有 A3/A4 |
查看操作列 |
仅有「查看」 |
| ZCZX-WDYYYS-UI-010 |
操作列 |
已拒绝展示理由 |
UI 测试 |
Playwright+Chrome |
§6.1 |
有 A2 |
查看 A2 行 |
拒绝理由列有内容;非「—」 |
| ZCZX-WDYYYS-UI-011 |
详情 |
只读弹窗全字段 |
UI 测试 |
Playwright+Chrome |
§6.2 |
有 A0 |
点击查看 |
弹窗含预约人、日期、时段、电话、地址、需求、状态;只读 |
| ZCZX-WDYYYS-UI-012 |
详情 |
已拒绝显示理由 |
UI 测试 |
Playwright+Chrome |
§6.2 |
有 A2 |
查看 A2 详情 |
展示拒绝理由 |
| ZCZX-WDYYYS-UI-013 |
详情 |
已完成无评价区 |
UI 测试 |
Playwright+Chrome |
§3.3、§5.2 |
有 A4 |
查看 A4 详情 |
无星级、综合评价、查看评价按钮 |
| ZCZX-WDYYYS-UI-014 |
确认 |
二次确认成功 |
UI 测试 |
Playwright+Chrome |
§6.3 |
有 A0 |
确认接诊→确认框「确定」 |
成功提示;状态变已确认;按钮仅剩查看 |
| ZCZX-WDYYYS-UI-015 |
确认 |
取消二次确认 |
UI 测试 |
Playwright+Chrome |
§6.3 |
有 A0 |
确认接诊→取消 |
状态仍为待确认 |
| ZCZX-WDYYYS-UI-016 |
拒绝 |
理由必填校验 |
UI 测试 |
Playwright+Chrome |
§6.4 |
有 A0 |
拒绝接诊→留空→确定 |
提示请填写;不提交 |
| ZCZX-WDYYYS-UI-017 |
拒绝 |
理由超长校验 |
UI 测试 |
Playwright+Chrome |
§6.4 |
有 A0 |
输入 101 字→确定 |
前端或提交后提示超长 |
| ZCZX-WDYYYS-UI-018 |
拒绝 |
合法提交成功 |
UI 测试 |
Playwright+Chrome |
§6.4 |
新待确认行 |
填 1~100 字理由→确定 |
成功;状态已拒绝;列表可见理由 |
| ZCZX-WDYYYS-UI-019 |
拒绝 |
关闭弹窗不变态 |
UI 测试 |
Playwright+Chrome |
§6.4 |
有 A0 |
打开拒绝弹窗→取消/关闭 |
仍为待确认 |
| ZCZX-WDYYYS-UI-020 |
权限 |
只读角色 |
UI 测试 |
Playwright+Chrome |
§7 |
仅 list/query 角色 |
进入页面;待确认行 |
无确认/拒绝按钮或点击无权限 |
| ZCZX-WDYYYS-UI-021 |
范围 |
未绑定账号 |
UI 测试 |
Playwright+Chrome |
§9 |
无兽医绑定账号 |
进入菜单或列表 |
无菜单或列表空;无报错崩溃 |
| ZCZX-WDYYYS-UI-023 |
完成接诊 |
二次确认成功 |
UI 测试 |
Playwright+Chrome |
§6.5 |
有 A1 |
完成接诊→确定 |
成功提示;状态变已完成 |
| ZCZX-WDYYYS-UI-024 |
完成接诊 |
取消二次确认 |
UI 测试 |
Playwright+Chrome |
§6.5 |
有 A1 |
完成接诊→取消 |
仍为已确认 |
| ZCZX-WDYYYS-UI-025 |
权限 |
无 complete 按钮 |
UI 测试 |
Playwright+Chrome |
§7 |
无 complete 权限 |
已确认行 |
无完成接诊或点击无权限 |
| ZCZX-WDYYYS-UI-022 |
端到端 |
接单处置流程 |
UI 集成 |
Playwright+Chrome |
§8.1 |
权限齐备 |
确认→完成接诊(或另条拒绝) |
状态与按钮符合矩阵 |
四、覆盖对照
| 类别 |
单元 UT |
接口 API |
界面 UI |
| 正常流程 |
UT-009~011 |
API-001~004、011~012、015、019、024~026 |
UI-001~004、007~008、011~014、018、022 |
| 异常/校验 |
UT-001~003 |
API-005、010、020~021 |
UI-005、016~017 |
| 状态机/操作矩阵 |
UT-004~006、012~013、016~017、020~021 |
API-016~018、022、033~035 |
UI-008~010、014~015、019、023~024 |
| 完成接诊 |
UT-004a、020~022 |
API-033~038 |
UI-009、023~025 |
| 数据范围/隔离 |
UT-007~009、014 |
API-006~009、014、023 |
UI-021 |
| 拒绝理由约束 |
UT-001~002 |
API-019~021 |
UI-016~019 |
| 权限/鉴权 |
UT-015 |
API-027~030 |
UI-020 |
| 本期不做(评价) |
— |
API-013、031 |
UI-013 |
| 三端数据隔离 |
UT-009 |
API-007 |
— |
五、功能需求追溯
| 需求章节 |
要点 |
主要用例 |
| §6.1 列表 |
范围、筛选、分页、排序、列 |
API-001~010;UI-001~007 |
| §6.2 详情 |
只读、拒绝理由、无评价 |
API-011~013;UI-011~013 |
| §6.3 确认 |
仅待确认 |
UT-004、010、012;API-015~018;UI-014~015 |
| §6.4 拒绝 |
必填理由 1~100 字 |
UT-001~002、011;API-019~023;UI-016~019 |
| §6.5 完成接诊 |
仅已确认→已完成 |
UT-004a、020~022;API-033~038;UI-009、023~025 |
| §4.3 并发幂等 |
重复操作、已取消 |
UT-016~017;API-017~018 |
| §2.2 数据范围 |
仅当前兽医 |
UT-009、014;API-006~009、014、023;UI-021 |
| §3.3 不做评价 |
无评价入口/接口 |
API-013、031;UI-013 |
| §7 权限 |
按钮级 |
API-028~030、037;UI-020、025 |
| §9 提示 |
文案一致 |
API-005、032;UI-005、016~017 |
六、Playwright 实施提示
- 安装:
npm i -D @playwright/test;npx playwright install chrome。
- 配置:
use: { channel: 'chrome', locale: 'zh-CN', baseURL: 'http://localhost:80' };storageState 复用兽医账号 A 登录态。
- 路由:
page.goto('/diseaseTreatment/myAppointment/vet')(以菜单 component 为准)。
- 定位示例:
page.getByPlaceholder('请输入预约人');page.getByRole('button', { name: '搜索' });page.getByRole('button', { name: '确认接诊' });page.getByRole('button', { name: '拒绝接诊' });page.getByRole('button', { name: '完成接诊' });page.getByLabel('拒绝理由')。
- 数据准备:先走「畜牧医疗资源管理」为 R1 分配账号,再向
biz_service_appointment 插入 provider_type=1 各状态样本(或通过移动端预约接口造数)。
七、修订记录
| 版本 |
说明 |
| 1.0 |
初版:单元 19、接口 32、UI 22;覆盖列表/详情/确认/拒绝、范围隔离、状态机、权限、本期不做评价;Playwright+Chrome |
| 1.1 |
增补完成接诊:UT-004a/020~022、API-033~038、UI-009/023~025;修正 Base Path;权限含 complete |