巴青农资商城

店铺管理测试用例.md 35KB

店铺管理 — 测试用例

依据: 《店铺管理功能需求.md》v1.3.4、《店铺管理技术方案.md》v1.2.3
范围: 平台管理端 店铺管理(列表、添加、编辑、店铺账号管理、删除)及 IShopFacade 对外契约;商家端 /agri/seller/shop 资料维护(§8.4)
排除: 店铺设置(见《店铺设置测试用例.md》)、商家端完整登录与 shop_id 切换、子管理员 CRUD、会员体系;商品上架/审核、分类维护的独立用例(删店仅验证商品 Facade 阻断条件);C 端下单 E2E 仅通过 isShopOpenForOrder 单元/接口契约验证,不展开用户商城页面
环境: RuoYi v3.9.2;接口基路径 /agri/shop;选商户复用 /agri/merchant/selectListopenShopCheck


用例编号说明

前缀 类型 工具
SHP-UT-xxx 单元测试 JUnit 5 + Mockito
SHP-API-xxx 接口测试 Apifox / REST Assured + 平台 Token
SHP-UI-xxx 界面测试 Playwright(Chromium/Chrome)

一、单元测试

SHP-UT-001 首家店创建 insert 账号与店铺同事务

要素 内容
测试模块 店铺管理
测试项 createShop
测试类型 单元测试
测试工具 JUnit + Mockito
测试目的 验证首家店新建 biz_merchant_account + biz_shop
前置条件 商户无账号行;checkOpenShop 通过
测试步骤 createShop(dto) 含 password
预期结果 插入 account 与 shop;shop_status=0

SHP-UT-002 创建店铺同事务 incrementShopCount

要素 内容
测试模块 店铺管理
测试项 createShop 事务
测试类型 单元测试
测试工具 JUnit
测试目的 验证 §7.5 与商户 shop_count 回写
前置条件 Mock IMerchantShopFacade
测试步骤 创建成功
预期结果 同一 @Transactional 内调用 incrementShopCount(merchantId) 一次

SHP-UT-003 非首家店不新建账号行

要素 内容
测试模块 店铺管理
测试项 createShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证同商户多店共用账号
前置条件 商户已有 account 与 1 家店
测试步骤 第 2 家店 loginName 与现有一致,password=null
预期结果 仅 insert biz_shop;account 表行数不变

SHP-UT-004 非首家店登录名不一致阻断

要素 内容
测试模块 店铺管理
测试项 createShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证 S4/S5
前置条件 已有账号 login=A
测试步骤 第 2 家店传 login=B
预期结果 抛错;msg「同一商户下店铺须使用相同经营账号」

SHP-UT-005 登录名全平台唯一校验

要素 内容
测试模块 店铺管理
测试项 账号校验
测试类型 单元测试
测试工具 JUnit
测试目的 验证 login_name 唯一
前置条件 其他商户已占用手机号 X
测试步骤 首家店使用 X 作为 loginName
预期结果 失败;「登录名已存在」

SHP-UT-006 店名未删除范围内唯一

要素 内容
测试模块 店铺管理
测试项 店名校验
测试类型 单元测试
测试工具 JUnit
测试目的 验证 S8
前置条件 未删除店名「测试店」已存在
测试步骤 新增同名店
预期结果 失败;「店铺名称已存在」

SHP-UT-007 checkOpenShop 经营未完善阻断

要素 内容
测试模块 店铺管理
测试项 IMerchantFacade
测试类型 单元测试
测试工具 JUnit + Mockito
测试目的 验证 S1 开店前置
前置条件 biz_complete=0
测试步骤 createShop 前调 checkOpenShop
预期结果 不创建;reason 经营信息未完善

SHP-UT-008 不设单商户开店数量上限

要素 内容
测试模块 店铺管理
测试项 createShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证 S2
前置条件 商户已有 10 家店;经营完整、认证正常
测试步骤 继续 createShop
预期结果 成功;不因 shop_count 拒绝

SHP-UT-009 编辑 UPDATE 排除 merchant_id

要素 内容
测试模块 店铺管理
测试项 updateShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证 S7
前置条件 shop 绑定 merchantId=1
测试步骤 PUT 体传 merchantId=2
预期结果 库中仍为 1

SHP-UT-010 开业→停业 confirm=false 不落库

要素 内容
测试模块 店铺管理
测试项 updateShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证 S12 两步确认
前置条件 shop_status=0
测试步骤 shopStatus=1, confirm=false
预期结果 needConfirm=true;DB 仍为开业

SHP-UT-011 开业→停业 confirm=true 持久化

要素 内容
测试模块 店铺管理
测试项 updateShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证停业保存
前置条件 开业店铺
测试步骤 shopStatus=1, confirm=true
预期结果 shop_status=1;不触发商品状态 UPDATE

SHP-UT-012 停业→开业无需 confirm

要素 内容
测试模块 店铺管理
测试项 updateShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证 §3.5
前置条件 shop_status=1
测试步骤 shopStatus=0 无 confirm
预期结果 直接成功为开业

SHP-UT-013 isShopOpenForOrder 停业返回 false

要素 内容
测试模块 店铺管理
测试项 IShopFacade
测试类型 单元测试
测试工具 JUnit
测试目的 验证 S13 契约
前置条件 shop_status=1del_flag=0
测试步骤 isShopOpenForOrder(shopId)
预期结果 false

SHP-UT-014 isShopOpenForOrder 逻辑删除返回 false

要素 内容
测试模块 店铺管理
测试项 IShopFacade
测试类型 单元测试
测试工具 JUnit
测试目的 验证删店后不可下单
前置条件 del_flag=2
测试步骤 isShopOpenForOrder
预期结果 false

SHP-UT-015 删店预检-存在出售中商品

要素 内容
测试模块 店铺管理
测试项 deleteCheck
测试类型 单元测试
测试工具 JUnit + Mockito
测试目的 验证 §11.2 商品条件
前置条件 IGoodsFacade.hasBlockingGoods=true
测试步骤 deleteCheck(shopId)
预期结果 canDelete=false;含下架商品提示

SHP-UT-016 删店预检-仅已下架商品可删

要素 内容
测试模块 店铺管理
测试项 deleteCheck
测试类型 单元测试
测试工具 JUnit
测试目的 验证不要求零商品
前置条件 仅有 status=4 商品;无订单
测试步骤 deleteCheck
预期结果 canDelete=true

SHP-UT-017 删店成功 decrementShopCount 且保留账号

要素 内容
测试模块 店铺管理
测试项 deleteShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证 §11.5 末店删账号保留
前置条件 商户仅 1 店;预检通过
测试步骤 deleteShop
预期结果 shop del_flag=2decrementShopCountbiz_merchant_accountdel_flag=0

SHP-UT-018 批量删除任一条失败整批不删

要素 内容
测试模块 店铺管理
测试项 批量删除
测试类型 单元测试
测试工具 JUnit
测试目的 验证 §3.8
前置条件 ID1 可删;ID2 有阻塞商品
测试步骤 DELETE 两 ID
预期结果 失败;两条 shop 均未逻辑删除

SHP-UT-019 改登录名 confirm=false 返回 needConfirm

要素 内容
测试模块 店铺管理
测试项 updateAccount
测试类型 单元测试
测试工具 JUnit
测试目的 验证 §7.3
前置条件 有账号
测试步骤 新 loginName,confirm=false
预期结果 needConfirm=true;confirmMessage 含「同步至该商户下全部店铺」

SHP-UT-020 改登录名后同商户多店展示一致

要素 内容
测试模块 店铺管理
测试项 updateAccount
测试类型 单元测试
测试工具 JUnit
测试目的 验证 S5 同步
前置条件 同商户 2 店;confirm=true
测试步骤 更新 account.login_name
预期结果 account 表 1 行更新;列表 JOIN 两店展示新登录名

SHP-UT-021 重置密码 BCrypt 存储

要素 内容
测试模块 店铺管理
测试项 updateAccount
测试类型 单元测试
测试工具 JUnit
测试目的 验证密码加密
前置条件
测试步骤 password=新密码 保存
预期结果 库中 password 为 BCrypt;非明文

SHP-UT-022 ~ SHP-UT-024 店铺设置(已迁出)

废止: 逐店 settings 及 biz_shop 策略字段已删除。相关用例见 《店铺设置测试用例.md》(SSS-UT-* / SSS-API-*)。

SHP-UT-025 首家店 password 必填

要素 内容
测试模块 店铺管理
测试项 createShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证 §7.6
前置条件 无账号
测试步骤 password=null
预期结果 校验失败

SHP-UT-026 冻结商户 checkOpenShop 失败

要素 内容
测试模块 店铺管理
测试项 IMerchantFacade
测试类型 单元测试
测试工具 JUnit
测试目的 验证 §13.2 不可新开店
前置条件 cert_status=1
测试步骤 checkOpenShop
预期结果 allowed=false;商户已冻结

SHP-UT-027 编辑店名排除自身唯一

要素 内容
测试模块 店铺管理
测试项 updateShop
测试类型 单元测试
测试工具 JUnit
测试目的 验证编辑店名规则
前置条件 店 A 名称「店1」
测试步骤 A 编辑仍用「店1」
预期结果 保存成功

二、接口测试

SHP-API-001 列表分页与默认排序

要素 内容
测试模块 店铺管理
测试项 GET /list
测试类型 接口测试
测试工具 Apifox
测试目的 验证列表基础
前置条件 agri:shop:list;≥2 未删店铺
测试步骤 GET /agri/shop/list?pageNum=1&pageSize=10
预期结果 code=200create_time 倒序;无 del_flag=2

SHP-API-002 关键词模糊检索

要素 内容
测试模块 店铺管理
测试项 GET /list
测试类型 接口测试
测试工具 Apifox
测试目的 验证 §5 关键词
前置条件 店名含「农资」
测试步骤 GET /list?keyword=农资
预期结果 命中店名/商户名/账号相关记录

SHP-API-003 按店铺状态筛选

要素 内容
测试模块 店铺管理
测试项 GET /list
测试类型 接口测试
测试工具 Apifox
测试目的 验证状态筛选
前置条件 停业店存在
测试步骤 GET /list?shopStatus=1
预期结果 全部 shopStatus=1

SHP-API-004 按商户名称筛选(详情跳转)

要素 内容
测试模块 店铺管理
测试项 GET /list
测试类型 接口测试
测试工具 Apifox
测试目的 验证 §4.2 merchantName
前置条件 某商户下有多店
测试步骤 GET /list?merchantName=张三农资
预期结果 均为该商户店铺

SHP-API-005 首家店添加成功

要素 内容
测试模块 店铺管理
测试项 POST /
测试类型 接口测试
测试工具 Apifox
测试目的 验证开店主流程 S3/S4
前置条件 经营完整正常商户;agri:shop:add;未占用店名/登录名
测试步骤 POST / 提交完整 body(含 password)
预期结果 code=200shopStatus=0;商户 shop_count+1;account 已建

SHP-API-006 同商户第二家店添加成功

要素 内容
测试模块 店铺管理
测试项 POST /
测试类型 接口测试
测试工具 Apifox
测试目的 验证 §7.2 第二家店
前置条件 商户已有 1 店及账号
测试步骤 POST / 同 loginName,password=null(§7.2 样例)
预期结果 成功;account 行数不变;shop_count 再 +1

SHP-API-007 添加缺少必填字段失败

要素 内容
测试模块 店铺管理
测试项 POST /
测试类型 接口测试
测试工具 Apifox
测试目的 验证必填
前置条件
测试步骤 shopPhone 或头像
预期结果 失败;无新店铺

SHP-API-008 店名重复失败

要素 内容
测试模块 店铺管理
测试项 POST /
测试类型 接口测试
测试工具 Apifox
测试目的 验证 S8
前置条件 店名已存在
测试步骤 重复 shopName 提交
预期结果 「店铺名称已存在」

SHP-API-009 同商户登录名不一致失败

要素 内容
测试模块 店铺管理
测试项 POST /
测试类型 接口测试
测试工具 Apifox
测试目的 验证 S4
前置条件 已有 login=13800138000
测试步骤 第 2 店传 13900139000
预期结果 「同一商户下店铺须使用相同经营账号」

SHP-API-010 商户经营未完善不可开店

要素 内容
测试模块 店铺管理
测试项 POST /
测试类型 接口测试
测试工具 Apifox
测试目的 验证 S1
前置条件 biz_complete=0 商户
测试步骤 POST /
预期结果 失败;「请先完善该商户的经营与结算信息」

SHP-API-011 冻结商户不可开店

要素 内容
测试模块 店铺管理
测试项 POST /
测试类型 接口测试
测试工具 Apifox
测试目的 验证商户状态阻断
前置条件 cert_status=1
测试步骤 POST /
预期结果 失败;与 openShopCheck reason 一致

SHP-API-012 高 shop_count 商户仍可连续开店

要素 内容
测试模块 店铺管理
测试项 POST /
测试类型 接口测试
测试工具 Apifox
测试目的 验证 S2 无上限
前置条件 商户 shop_count≥5 且均可开店
测试步骤 POST / 新店
预期结果 成功

SHP-API-013 获取店铺详情

要素 内容
测试模块 店铺管理
测试项 GET /{shopId}
测试类型 接口测试
测试工具 Apifox
测试目的 验证详情契约
前置条件 agri:shop:query
测试步骤 GET /agri/shop/{id}
预期结果 含店铺字段、merchantId/merchantName 只读、账号摘要、canDelete

SHP-API-014 编辑店铺基础信息成功

要素 内容
测试模块 店铺管理
测试项 PUT /
测试类型 接口测试
测试工具 Apifox
测试目的 验证编辑主流程
前置条件 开业店;agri:shop:edit
测试步骤 修改 shopDescshopPhoneshopStatus 不变
预期结果 code=200;字段更新;商户认证不变

SHP-API-015 编辑传 merchantId 无效

要素 内容
测试模块 店铺管理
测试项 PUT /
测试类型 接口测试
测试工具 Apifox
测试目的 验证 S7
前置条件 shop 属 merchant 1
测试步骤 body 改 merchantId=2
预期结果 仍为 merchant 1

SHP-API-016 开业→停业两步确认

要素 内容
测试模块 店铺管理
测试项 PUT /
测试类型 接口测试
测试工具 Apifox
测试目的 验证 S12
前置条件 开业店
测试步骤 1. shopStatus=1, confirm=false 2. confirm=true
预期结果 步骤1 needConfirm;步骤2 shop_status=1

SHP-API-017 停业→开业直接成功

要素 内容
测试模块 店铺管理
测试项 PUT /
测试类型 接口测试
测试工具 Apifox
测试目的 验证停业恢复无需 confirm
前置条件 停业店
测试步骤 shopStatus=0 保存
预期结果 直接开业

SHP-API-018 查询商户经营账号

要素 内容
测试模块 店铺管理
测试项 GET /merchant/{id}/account
测试类型 接口测试
测试工具 Apifox
测试目的 验证账号管理查询
前置条件 同商户 2 店;agri:shop:account
测试步骤 GET .../account
预期结果 adminNameloginName 脱敏;shops 数组 2 条

SHP-API-019 修改管理员姓名与重置密码

要素 内容
测试模块 店铺管理
测试项 PUT /merchant/{id}/account
测试类型 接口测试
测试工具 Apifox
测试目的 验证账号维护
前置条件 有账号
测试步骤 PUTadminName、传新 password
预期结果 成功;登录可用新密码(若商家端已实现)

SHP-API-020 修改登录名两步确认

要素 内容
测试模块 店铺管理
测试项 PUT /merchant/{id}/account
测试类型 接口测试
测试工具 Apifox
测试目的 验证 §7.3
前置条件 新登录名未占用
测试步骤 confirm=falseconfirm=true
预期结果 预检含同步文案;确认后 login 更新;两店列表展示一致

SHP-API-021 登录名重复失败

要素 内容
测试模块 店铺管理
测试项 PUT /merchant/{id}/account
测试类型 接口测试
测试工具 Apifox
测试目的 验证平台唯一
前置条件 其他商户已用号码 X
测试步骤 改为 X
预期结果 「登录名已存在」

SHP-API-022 ~ SHP-API-024 店铺设置(已迁出)

废止: GET/PUT /{id}/settings 已移除。见 《店铺设置测试用例.md》 SSS-API-001~004。

SHP-API-025 删除预检通过

要素 内容
测试模块 店铺管理
测试项 GET /{id}/deleteCheck
测试类型 接口测试
测试工具 Apifox
测试目的 验证删店正向
前置条件 无出售中/待审核;无未完成订单
测试步骤 GET .../deleteCheck
预期结果 canDelete=true

SHP-API-026 删除预检-阻塞商品

要素 内容
测试模块 店铺管理
测试项 GET /{id}/deleteCheck
测试类型 接口测试
测试工具 Apifox
测试目的 验证 §11.2
前置条件 存在 goods_status 为 1 或 2 的商品
测试步骤 deleteCheck
预期结果 canDelete=false;含商品处理提示

SHP-API-027 逻辑删除成功 shop_count 减 1

要素 内容
测试模块 店铺管理
测试项 DELETE /{ids}
测试类型 接口测试
测试工具 Apifox
测试目的 验证删店主流程 S10
前置条件 SHP-API-025 通过;agri:shop:remove
测试步骤 DELETE /agri/shop/{id}
预期结果 列表不可见;del_flag=2;商户 shop_count-1

SHP-API-028 批量删除部分失败整批取消

要素 内容
测试模块 店铺管理
测试项 DELETE /{ids}
测试类型 接口测试
测试工具 Apifox
测试目的 验证批量策略
前置条件 一可删一不可删
测试步骤 DELETE id1,id2
预期结果 「部分店铺不满足删除条件」;均未删除

SHP-API-029 列表经营账号脱敏

要素 内容
测试模块 店铺管理
测试项 GET /list
测试类型 接口测试
测试工具 Apifox
测试目的 验证 §7.4
前置条件 login=13800138000
测试步骤 查列表 accountLoginName
预期结果 形如 138****8000

SHP-API-030 无 add 权限新增 403

要素 内容
测试模块 店铺管理
测试项 权限
测试类型 接口测试
测试工具 Apifox
测试目的 验证 @PreAuthorize
前置条件 Token 无 agri:shop:add
测试步骤 POST /
预期结果 403;无新数据

SHP-API-031 GET merchant account 供添加第 2 店带出

要素 内容
测试模块 店铺管理
测试项 GET /merchant/{id}/account
测试类型 接口测试
测试工具 Apifox
测试目的 验证添加页带出账号
前置条件 商户已有店
测试步骤 添加前调用 account 接口
预期结果 返回现有 loginName、adminName 供表单默认

SHP-API-032 复用 merchant selectList 仅完整商户

要素 内容
测试模块 店铺管理
测试项 GET /agri/merchant/selectList
测试类型 接口测试
测试工具 Apifox
测试目的 验证添加页选商户 S1
前置条件 完整/不完整/冻结商户各一
测试步骤 GET /agri/merchant/selectList
预期结果 仅含经营完整且认证正常商户

三、界面测试(Playwright)

通用前置: 平台管理员已登录;Chromium;菜单「农资管理 → 店铺管理」(路由以实现为准)。

SHP-UI-001 进入店铺列表页

要素 内容
测试模块 店铺管理
测试项 列表加载
测试类型 界面测试
测试工具 Playwright (Chrome)
测试目的 验证菜单与列表列
前置条件 agri:shop:list
测试步骤 登录 → 打开店铺管理
预期结果 展示店名、头像、商户名、状态、经营账号、操作;分页默认

SHP-UI-002 关键词检索店铺

要素 内容
测试模块 店铺管理
测试项 高级检索
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §5 关键词
前置条件 存在店名含「测试店」
测试步骤 输入关键词 → 查询
预期结果 列表仅匹配店铺/商户/账号相关行

SHP-UI-003 按开业/停业筛选

要素 内容
测试模块 店铺管理
测试项 高级检索
测试类型 界面测试
测试工具 Playwright
测试目的 验证状态筛选
前置条件 有停业店
测试步骤 选「停业」→ 查询
预期结果 列表均为停业状态

SHP-UI-004 清空检索恢复默认列表

要素 内容
测试模块 店铺管理
测试项 高级检索
测试类型 界面测试
测试工具 Playwright
测试目的 验证清空条件
前置条件 已筛选缩小结果
测试步骤 点重置/清空 → 查询
预期结果 恢复全量未删店铺列表

SHP-UI-005 添加首家店-完整表单提交

要素 内容
测试模块 店铺管理
测试项 添加店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证开店 UI 主流程
前置条件 可选完整商户;有 add 权限
测试步骤 新增 → 选商户 → 填店名/头像/电话/账号密码 → 提交
预期结果 成功;列表新店状态=开业;商户店铺数+1

SHP-UI-006 添加第二家店默认带出经营账号

要素 内容
测试模块 店铺管理
测试项 添加店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §6.3 带出
前置条件 商户已有 1 店
测试步骤 选同商户 → 观察账号区
预期结果 登录名、管理员姓名自动填充;密码可空或可选重置

SHP-UI-007 添加必填项为空校验

要素 内容
测试模块 店铺管理
测试项 添加店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证前端校验
前置条件 打开新增
测试步骤 不填商家电话直接提交
预期结果 表单项错误提示;不提交成功

SHP-UI-008 选经营未完善商户不可选或提交失败

要素 内容
测试模块 店铺管理
测试项 添加店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证 S1 UI
前置条件 存在待完善商户
测试步骤 打开商户下拉/搜索
预期结果 不出现该商户;或选后提交提示完善经营信息

SHP-UI-009 编辑页商户与经营账号只读

要素 内容
测试模块 店铺管理
测试项 编辑店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §8.2
前置条件 有店铺
测试步骤 点编辑
预期结果 所属商户、经营账号不可改

SHP-UI-010 编辑开业→停业二次确认

要素 内容
测试模块 店铺管理
测试项 编辑店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证 S12 UI
前置条件 开业店
测试步骤 状态改停业 → 保存
预期结果 弹窗含「用户端将无法下单」;确认后列表为停业

SHP-UI-011 停业店仍可编辑/账号管理

要素 内容
测试模块 店铺管理
测试项 列表操作
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §7.2
前置条件 停业店
测试步骤 检查操作列按钮
预期结果 编辑、店铺账号管理可用; 逐店「店铺设置」

SHP-UI-012 店铺账号管理-展示下属店铺

要素 内容
测试模块 店铺管理
测试项 店铺账号管理
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §9.2
前置条件 同商户 2 店
测试步骤 任一家店点「店铺账号管理」
预期结果 展示管理员、脱敏登录名、下属 2 店名称与状态

SHP-UI-013 改登录名二次确认同步文案

要素 内容
测试模块 店铺管理
测试项 店铺账号管理
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §9.4
前置条件 有 account 权限
测试步骤 改登录名 → 保存
预期结果 确认框含「同步至该商户下全部店铺」;成功后两店列表账号一致

SHP-UI-014 ~ SHP-UI-015 店铺设置(已迁出)

《店铺设置测试用例.md》 SSS-UI-*(独立菜单「店铺设置」)。

SHP-UI-016 删除店铺二次确认

要素 内容
测试模块 店铺管理
测试项 删除店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §11.3
前置条件 满足删店条件
测试步骤 删除 → 确认「不可恢复经营」
预期结果 列表消失;成功提示

SHP-UI-017 有出售中商品时删除失败提示

要素 内容
测试模块 店铺管理
测试项 删除店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证删店商品约束
前置条件 店内有出售中商品
测试步骤 点删除
预期结果 提示「请先下架或处理完商品后再删除店铺」

SHP-UI-018 无 add 权限隐藏新增按钮

要素 内容
测试模块 店铺管理
测试项 权限
测试类型 界面测试
测试工具 Playwright
测试目的 验证按钮权限
前置条件 角色仅 list+query
测试步骤 进入列表
预期结果 无「新增」按钮

SHP-UI-019 列表无会员相关字段

要素 内容
测试模块 店铺管理
测试项 列表展示
测试类型 界面测试
测试工具 Playwright
测试目的 验证 S6
前置条件 打开列表
测试步骤 检查表头
预期结果 无会员名称/会员绑定列;为经营账号展示

SHP-UI-020 从商户详情跳转带 merchantName 筛选

要素 内容
测试模块 店铺管理
测试项 协作跳转
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §13.3
前置条件 商户详情有「查看店铺」;该商户有多店
测试步骤 商户详情点击跳转
预期结果 打开店铺列表且检索框带商户名;仅显示该商户店铺

SHP-UI-021 生成随机密码(若 UI 提供)

要素 内容
测试模块 店铺管理
测试项 添加店铺
测试类型 界面测试
测试工具 Playwright
测试目的 验证 §6.3 随机密码
前置条件 首家店新增页有「生成随机密码」
测试步骤 点击生成
预期结果 密码框填入符合长度要求的随机串

SHP-UI-022 子管理员上限输入非法值(已迁出)

《店铺设置测试用例.md》 SSS-API-004 / SSS-UI-*。

SHP-UT-027 商家端改店名更新 biz_shop

要素 内容
用例编号 SHP-UT-027
测试项 updateSellerShopProfile
测试目的 验证草稿第 7 条、§8.4 同源
步骤 updateSellerShopProfile(shopId, dto)
预期结果 shopMapper.update 写入新名称/头像/电话;平台 list SQL 读同一行

SHP-API-033 GET /agri/seller/shop

要素 内容
用例编号 SHP-API-033
测试项 商家端资料查询
前置条件 X-Shop-Idagri:seller:shop:query
预期结果 200;返回当前店名称/头像/电话

SHP-API-034 PUT /agri/seller/shop 成功后平台 list 一致

要素 内容
用例编号 SHP-API-034
测试项 商家端改资料
步骤 PUT 改 shopNameGET /agri/shop/list
预期结果 列表展示新名称

四、用例统计

类型 数量 编号段
单元测试 27 SHP-UT-001~027
接口测试 32 SHP-API-001~032
界面测试 22 SHP-UI-001~022
合计 81

五、业务规则覆盖索引

规则 对应用例(示例)
S1 SHP-UT-007, SHP-API-010, SHP-UI-008, SHP-API-032
S2 SHP-UT-008, SHP-API-012
S3 SHP-UT-001, SHP-API-005
S4/S5 SHP-UT-003/004/019/020, SHP-API-006/009, SHP-UI-006/013
S6 SHP-UI-019
S7 SHP-UT-009, SHP-API-015, SHP-UI-009
S8 SHP-UT-006, SHP-API-008
S9 SHP-UT-011(无商品级联)
S10 SHP-UT-015~018, SHP-API-025~028, SHP-UI-016/017
S11 SHP-UT-022/024, SHP-API-022/023, SHP-UI-014/015
S12 SHP-UT-010/011, SHP-API-016, SHP-UI-010
S13 SHP-UT-013/014(Facade 契约)

六、测试数据建议

数据 用途
经营完整 + 认证正常商户 开店、selectList
经营未完善 / 冻结商户 开店阻断
首家店 + 同商户第二店 账号一致、password null
多店商户(≥5) S2 无上限
开业/停业店各一 状态编辑、Facade
含出售中/待审核商品的店 删店阻断
仅已下架商品的店 删店正向
未占用店名、登录手机号 唯一性正向

文档版本:v1.0 · 关联《店铺管理功能需求.md》v1.3.2、《店铺管理技术方案.md》v1.2.1(biz_merchant_account