西藏巴青项目

承销商管理测试用例.md 16KB

承销商管理 — 测试用例

依据:承销商管理功能需求.md承销商管理技术方案.md
接口 Base Path(示例)/tradeMarket/distributor;鉴权与若依一致(Cookie / Token)。

通用前置(无特殊说明):具备本模块按钮权限的账号已登录(tradeMarket:distributor:list|query|add|edit|remove|assignAccount)。库表 biz_distributor 中宜预置(del_flag=0):

样本 编号 名称 类型 销售去向 要点
D1 01 扎西承销服务点 个体户(1) 本市(1) 身份证
D2 02 雪域贸易有限公司 企业(2) 本省(2) USCC
D3 03 高原外向商行 企业(2) 外省(3) 经营地点有值
DU 04 待分配承销商 个体户(1) 本市(1) account_assigned=0
DA 05 已分配承销商 企业(2) 本省(2) account_assigned=1

合法身份证110101199001011234合法 USCC91510000MA62K0260E

合法新增 Body 示例distributorName=测试承销商甲distributorType=1identityNo=110101199001011234contactPhone=13800138000salesDestination=1

界面(UI)测试Playwright + Chromiumchannel: 'chrome' 使用本机 Google Chrome)。


一、单元测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-CXSGL-UT-001 编号生成 首条编号 单元测试 JUnit5 §2.4 库无编号 DistributorCodeGenerator.next() 返回 01
ZCZX-CXSGL-UT-002 编号生成 递增补零 单元测试 JUnit5 §2.4 最大号 08 next() 返回 09
ZCZX-CXSGL-UT-003 编号生成 上限拒绝 单元测试 JUnit5 §2.4 最大号 99 next() 抛异常;含编号上限
ZCZX-CXSGL-UT-004 参数校验 承销商名称 单元测试 JUnit5 1~20 字 空、21 字、合法 trim 空/超长失败;通过
ZCZX-CXSGL-UT-005 参数校验 个体户身份证 单元测试 JUnit5 §3.4 type=1 非法、合法 18 位 非法失败;通过
ZCZX-CXSGL-UT-006 参数校验 企业识别号 单元测试 JUnit5 §3.4 type=2 非 18 位、合法 USCC 非法失败;通过
ZCZX-CXSGL-UT-007 参数校验 手机号 单元测试 JUnit5 全局 10 位、11 位合法 非法失败;通过
ZCZX-CXSGL-UT-008 参数校验 销售去向 单元测试 JUnit5 §2.3 空、0、4、1/2/3 非法失败;1~3 通过
ZCZX-CXSGL-UT-009 参数校验 经营地点长度 单元测试 JUnit5 ≤50 51 字、50 字 51 失败;50 通过
ZCZX-CXSGL-UT-010 唯一性 名称重复 单元测试 JUnit5+Mockito §3.4 同名未删 validateUniqueName 失败
ZCZX-CXSGL-UT-011 唯一性 身份号重复 单元测试 JUnit5+Mockito §3.4 同号未删 validateUniqueIdentity 失败
ZCZX-CXSGL-UT-012 Service 新增落库 单元测试 JUnit5+Mockito 正常 Mock Mapper insert 合法行 del_flag=0distributor_code 非空
ZCZX-CXSGL-UT-013 Service 修改禁改编号 单元测试 JUnit5 §3.3.1 记录 01 Body distributorCode=99 库仍为 01
ZCZX-CXSGL-UT-014 Service 逻辑删除 单元测试 JUnit5+Mockito §3.5 Mock remove(id) del_flag=2
ZCZX-CXSGL-UT-015 Service 删除有未支付订单 单元测试 JUnit5+Mockito §5.5 hasUnpaidOrder=true remove 抛「存在未支付订单,无法删除」
ZCZX-CXSGL-UT-016 Mapper 模糊筛选 SQL 单元测试 JUnit5 §3.6 检查 XML LIKE CONCAT('%',…,'%')del_flag=0
ZCZX-CXSGL-UT-017 Mapper 排序 单元测试 JUnit5 §3.1.1 检查 XML distributor_code ASC, id ASC
ZCZX-CXSGL-UT-018 登录名 拼音首字母+id 单元测试 JUnit5 §2.5 generate("扎西承销商",3L) zxcxs3
ZCZX-CXSGL-UT-019 分配校验 已分配拒绝 单元测试 JUnit5 §3.4 account_assigned=1 validateForAssignAccount 失败
ZCZX-CXSGL-UT-020 Service 分配成功 单元测试 JUnit5+Mockito §3.6 DU assignAccount account_assigned=1;角色 104
ZCZX-CXSGL-UT-021 Service 重复分配 单元测试 JUnit5+Mockito §3.6 DA assignAccount 失败
ZCZX-CXSGL-UT-022 Service 删除联动 单元测试 JUnit5+Mockito §3.5 已分配 deleteByIds 联动删用户

二、接口测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-CXSGL-API-001 列表 默认分页排序 接口测试 Postman §3.1.1 有 D1~D3 GET .../list rows≤20;含 salesDestinationName;编号升序
ZCZX-CXSGL-API-002 列表 编号模糊 接口测试 Postman §2.8 有 D1 01 distributorCode=1 含 D1;全名 01 仍命中
ZCZX-CXSGL-API-003 列表 名称模糊 接口测试 Postman §2.8 有 D2 distributorName=雪域 含 D2;与全名不等亦可
ZCZX-CXSGL-API-004 列表 模糊无匹配 接口测试 Postman §2.8 已登录 distributorName=不存在xyz 空列表
ZCZX-CXSGL-API-005 列表 精确不匹配反例 接口测试 Postman 对比供应商 有 D2 全名 名称少一字片段错误 仍可模糊命中或按输入为空不过滤
ZCZX-CXSGL-API-006 列表 组合筛选 接口测试 Postman 多条件 已登录 distributorCode=0+distributorName=公司 同时满足行
ZCZX-CXSGL-API-007 列表 不含已删除 接口测试 Postman 逻辑删除 id 已删 GET list 无该 id
ZCZX-CXSGL-API-008 新增 个体户本市 接口测试 Postman §5.1 已登录 POST 合法 Body salesDestination=1 code=200distributorCode 2 位
ZCZX-CXSGL-API-009 新增 企业本省 接口测试 Postman §2.3 已登录 type=2+USCC+salesDestination=2 成功
ZCZX-CXSGL-API-010 新增 外省 接口测试 Postman §2.3 已登录 salesDestination=3 成功;详情销售去向为外省
ZCZX-CXSGL-API-011 新增 缺销售去向 接口测试 Postman §3.4 已登录 salesDestination 失败
ZCZX-CXSGL-API-012 新增 销售去向非法 接口测试 Postman §3.4 已登录 salesDestination=9 失败
ZCZX-CXSGL-API-013 新增 名称重复 接口测试 Postman §5.1.4 已有 D1 名 POST 同名 失败
ZCZX-CXSGL-API-014 新增 身份号重复 接口测试 Postman §5.1.4 已有 D1 证号 identityNo 失败
ZCZX-CXSGL-API-015 新增 手机号非法 接口测试 Postman §2.5 已登录 contactPhone=123 失败
ZCZX-CXSGL-API-016 新增 企业错用身份证 接口测试 Postman §2.5 已登录 type=2+身份证 失败
ZCZX-CXSGL-API-017 详情 有效 id 接口测试 Postman §3.2.1 已登录 GET /{id} 含销售去向、审计
ZCZX-CXSGL-API-018 详情 无效/已删 id 接口测试 Postman 异常 已登录 不存在/已删 失败或空 data
ZCZX-CXSGL-API-019 修改 改经营地点 接口测试 Postman §5.3 有 D1 PUTbusinessLocation 成功;编号不变
ZCZX-CXSGL-API-020 修改 改销售去向 接口测试 Postman §5.3 D1 本市 PUT salesDestination=3 成功;详情为外省
ZCZX-CXSGL-API-021 修改 传编号无效 接口测试 Postman §3.3.1 有 D1 PUT distributorCode=99 仍为 01
ZCZX-CXSGL-API-022 修改 不存在 id 接口测试 Postman 异常 已登录 伪造 id PUT 失败
ZCZX-CXSGL-API-023 删除 单条逻辑删 接口测试 Postman §5.5 无关联新行 DELETE /{id} 成功;列表无
ZCZX-CXSGL-API-024 删除 有未支付订单拒绝 接口测试 Postman §5.5 预置待支付订单 DELETE 失败;提示未支付
ZCZX-CXSGL-API-025 删除 重复删除 接口测试 Postman 幂等 已删 id 再次 DELETE 失败或不存在
ZCZX-CXSGL-API-026 端到端 CRUD 串联 接口测试 Postman §4 已登录 POSTlistGETPUTDELETE 每步成功
ZCZX-CXSGL-API-027 鉴权 未登录 接口测试 curl 安全 无 Token GET list 401 或统一未登录
ZCZX-CXSGL-API-028 权限 无新增权限 接口测试 Postman §6 仅 list POST 无权限失败
ZCZX-CXSGL-API-029 权限 无删除权限 接口测试 Postman §6 无 remove DELETE 无权限失败
ZCZX-CXSGL-API-030 响应 失败可读 接口测试 Postman 草稿 §8 已登录 触发缺去向、重复名、手机号错 msg 可区分
ZCZX-CXSGL-API-031 分配账号 成功 接口测试 Postman §3.6 DU POST .../assignAccount/{id} accountAssigned=1;角色 104
ZCZX-CXSGL-API-032 分配账号 重复 接口测试 Postman §3.6 DA 再次调用 失败
ZCZX-CXSGL-API-033 删除 已分配联动 接口测试 Postman §3.5 已分配无关联行 DELETE 用户已删
ZCZX-CXSGL-API-034 权限 无分配权限 接口测试 Postman §4 无 assignAccount POST assignAccount 无权限失败

三、界面测试用例(UI)

测试工具Playwright + Chromiumchannel: 'chrome' 使用本机 Google Chrome)。

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
ZCZX-CXSGL-UI-001 列表 默认展示 UI 测试 Playwright+Chrome §5.2.3 已登录;有数据 进入「承销商管理」 含编号、名称、类型、识别号、电话、地点、销售去向、操作
ZCZX-CXSGL-UI-002 列表 编号模糊筛选 UI 测试 Playwright+Chrome §2.8 有 D1 01 编号输入 1→搜索 含 D1
ZCZX-CXSGL-UI-003 列表 名称模糊筛选 UI 测试 Playwright+Chrome §2.8 有 D2 名称输入「雪域」→搜索 含 D2
ZCZX-CXSGL-UI-004 列表 无结果 UI 测试 Playwright+Chrome §2.8 已登录 输入不存在关键字→搜索 空列表或空状态
ZCZX-CXSGL-UI-005 列表 重置 UI 测试 Playwright+Chrome §5.2 已筛选 搜索→重置 条件清空
ZCZX-CXSGL-UI-006 新增 个体户本市 UI 测试 Playwright+Chrome §5.1 已登录 新增→个体户→本市→填必填→确定 成功;列表新行
ZCZX-CXSGL-UI-007 新增 企业本省 UI 测试 Playwright+Chrome §5.1 已登录 企业+主体识别号+本省→确定 成功
ZCZX-CXSGL-UI-008 新增 销售去向必选 UI 测试 Playwright+Chrome §5.1.4 新增 不选销售去向→确定 校验失败
ZCZX-CXSGL-UI-009 新增 类型切换标签 UI 测试 Playwright+Chrome §5.1.2 新增 个体户↔企业 标签在身份证/主体识别号间切换
ZCZX-CXSGL-UI-010 新增 编号只读 UI 测试 Playwright+Chrome §2.4 打开新增 查看编号控件 只读或保存后自动生成
ZCZX-CXSGL-UI-011 新增 缺必填 UI 测试 Playwright+Chrome §5.1.4 新增 留空名称或手机→确定 校验失败
ZCZX-CXSGL-UI-012 新增 名称 20 字 UI 测试 Playwright+Chrome §5.1.1 新增 超 20 字 无法输入或保存失败
ZCZX-CXSGL-UI-013 新增 取消 UI 测试 Playwright+Chrome §5.1.3 新增 填一半→取消 无新行
ZCZX-CXSGL-UI-014 详情 只读含去向 UI 测试 Playwright+Chrome §5.4 有 D3 查看 只读;销售去向为外省;含审计
ZCZX-CXSGL-UI-015 编辑 修改地点 UI 测试 Playwright+Chrome §5.3 有 D1 编辑→改经营地点→确定 列表已更新;编号不变
ZCZX-CXSGL-UI-016 编辑 编号不可改 UI 测试 Playwright+Chrome §5.3 编辑 D1 查看编号 只读
ZCZX-CXSGL-UI-017 编辑 改销售去向 UI 测试 Playwright+Chrome §5.3 D1 本市 改外省→保存 列表/详情为外省
ZCZX-CXSGL-UI-018 删除 确认删除 UI 测试 Playwright+Chrome §5.5 无关联行 删除→确认 行消失
ZCZX-CXSGL-UI-019 删除 取消删除 UI 测试 Playwright+Chrome §5.5 任意行 删除→取消 行仍在
ZCZX-CXSGL-UI-020 端到端 全流程 UI 集成 Playwright+Chrome §4 权限齐备 新增→模糊查→看→改→删 无报错
ZCZX-CXSGL-UI-021 权限 只读角色 UI 测试 Playwright+Chrome §6 无写权限 进入模块 无新增/编辑/删除
ZCZX-CXSGL-UI-022 详情 从详情编辑 UI 测试 Playwright+Chrome §5.4 查看 D1 点「编辑」 进入编辑弹窗
ZCZX-CXSGL-UI-023 列表 账号分配列 UI 测试 Playwright+Chrome §5.2.3 DU、DA 查看列表 未分配/已分配展示正确
ZCZX-CXSGL-UI-024 分配账号 成功 UI 测试 Playwright+Chrome §5.6 DU 分配账号→确认 成功;无二次入口
ZCZX-CXSGL-UI-025 分配账号 已分配无按钮 UI 测试 Playwright+Chrome §5.6 DA 操作列 无分配账号
ZCZX-CXSGL-UI-026 权限 无分配权限 UI 测试 Playwright+Chrome §6 无 assignAccount 进入模块 无分配按钮

Playwright 与谷歌浏览器(实施提示)

  • 安装:npm i -D @playwright/testnpx playwright install chrome
  • 配置:use: { channel: 'chrome', locale: 'zh-CN', baseURL: 'http://localhost:80' }storageState 复用登录态。
  • 路由:page.goto('/tradeMarket/distributor')(以菜单 component 为准)。
  • 模糊搜索:page.getByLabel('承销商编号').fill('1') 后点击「搜索」。
  • 销售去向:page.getByLabel('销售去向').click() 后选「本市」等选项。

覆盖对照

类别 单元 UT 接口 API 界面 UI
正常流程 UT-012 API-008~010、017、019~020、026 UI-006~007、014~017、020
异常流程 UT-003 API-011~016、022、024~025 UI-008、011、018~019
业务约束 UT-001~011 API-002~004、013~016、021 UI-002~004、009~010、016
模糊筛选 UT-016 API-002~006 UI-002~004
销售去向 UT-008 API-011~012、020 UI-006~008、017
逻辑删除 UT-014 API-007、023~025 UI-018
权限/鉴权 API-027~029、034 UI-021、026
分配账号 UT-018~022 API-031~033 UI-023~025

功能需求追溯(自查)

需求章节 要点 主要对应用例
§5.1 新增 字段、销售去向 UT-004~009、012;API-008~016;UI-006~013
§5.2 列表 模糊筛选 UT-016;API-002~006;UI-002~005
§5.3 修改 编号不可改 UT-013;API-019~021;UI-015~017
§5.4 详情 只读 API-017;UI-014、022
§5.5 删除 逻辑删、未支付拦截 UT-014~015;API-023~025;UI-018~019
§2.3 销售去向 三档 UT-008;API-008~012、021;UI-006~008、018
§2.4 编号 01~99 UT-001~003;API-008;UI-010
§6 权限 按钮级 API-028~029、034;UI-021、026
§5.6 分配账号 角色 104、一次 UT-018~022;API-031~033;UI-023~025

修订记录

版本 说明
1.0 初版:单元 18、接口 31、UI 23;覆盖 CRUD、模糊筛选、销售去向、编号;Playwright+Chrome;前缀 ZCZX-CXSGL
1.1 移除车辆号牌相关用例;章节引用 §2.8;用例编号重排(单元 17、接口 30、UI 22)
1.2 增补分配账号:UT-018~022、API-031~034、UI-023~026;样本 DU/DA
1.3 删除拦截:UT-015、API-024 对齐未支付订单