巴青农资商城

会员管理测试用例.md 14KB

会员管理 — 测试用例

依据: 《会员管理功能需求.md》v1.1、《会员管理技术方案.md》v1.3、《消费者APP/会员注册登录/会员注册登录技术方案.md》v1.2
关联: 《订单管理测试用例.md》v1.0(会员订单只读、O11 消费统计)、《订单管理技术方案.md》v1.0
范围: 平台端 /agri/member 列表/详情/添加/启用禁用/会员订单只读;IMemberFacade;C 端 /api/member 注册登录;账号 sys_user + 角色 member
排除: 余额积分、标签、导入、商家端查会员、会员等级自动升级
环境: RuoYi v3.9.2;平台 Token + 会员 C 端 Token


用例编号说明

前缀 类型 工具
MEM-UT-xxx 单元测试 JUnit 5 + Mockito
MEM-API-xxx 接口测试 Apifox / REST Assured
MEM-UI-xxx 界面测试 Playwright

一、单元测试

MEM-UT-001 手机号未删唯一-注册重复失败

要素 内容
测试项 register
测试目的 验证 M2
前置条件 已有 mobile=17700001111
测试步骤 同号注册
预期结果 失败;手机号已注册

MEM-UT-002 逻辑删除后同号可再注册

要素 内容
测试项 register
测试目的 唯一仅 del_flag=0
前置条件 原会员 del_flag=2
测试步骤 同号注册
预期结果 成功;新 member_id

MEM-UT-003 isMemberEnabled 启用 true

要素 内容
测试项 IMemberFacade
测试目的 验证 M4
前置条件 status=0,del_flag=0
测试步骤 isMemberEnabled(id)
预期结果 true

MEM-UT-004 isMemberEnabled 禁用 false

要素 内容
测试项 IMemberFacade
测试目的 验证 M4
前置条件 status=1
测试步骤 isMemberEnabled
预期结果 false

MEM-UT-005 refreshConsumption 按已完成重算

要素 内容
测试项 refreshConsumption
测试目的 验证 M5、O11
前置条件 会员 3 笔已完成 pay_amount=10/20/30;1 笔已关闭
测试步骤 refreshConsumption(memberId)
预期结果 order_count=3;total_amount=60.00

MEM-UT-006 禁用会员不关闭订单

要素 内容
测试项 updateStatus
测试目的 验证 M15
前置条件 会员有 status=1 待发货订单
测试步骤 updateStatus(1) 禁用
预期结果 订单 status 仍为 1; 调 OrderFacade.close

MEM-UT-007 列表 keyword 匹配会员名称

要素 内容
测试项 listMembers
测试目的 验证 M11
前置条件 sys_user.user_name 含「张三」
测试步骤 keyword=张三
预期结果 命中

MEM-UT-007a 列表 keyword 匹配昵称

要素 内容
测试项 listMembers
测试目的 验证 M11
前置条件 sys_user.nick_name 含「李四」且 user_name 不含
测试步骤 keyword=李四
预期结果 命中

MEM-UT-008 列表 keyword 匹配手机号

要素 内容
测试项 listMembers
测试目的 验证 M11
前置条件 mobile=17712345678
测试步骤 keyword=5678
预期结果 命中

MEM-UT-009 设默认地址取消其它默认

要素 内容
测试项 setDefaultAddress
测试目的 地址默认唯一
前置条件 地址 A、B 同属会员;A 默认
测试步骤 设 B 为默认
预期结果 B is_default=1;A is_default=0

MEM-UT-010 详情组装 addressList

要素 内容
测试项 getMemberDetail
测试目的 验证 M14
前置条件 2 条有效地址
测试步骤 getMemberDetail
预期结果 addressList.size=2;fullAddress 拼接正确

MEM-UT-011 pageOrdersByMember 委托 OrderFacade

要素 内容
测试项 MemberOrderService
测试目的 验证 M6 数据源
前置条件 Mock IOrderFacade
测试步骤 listMemberOrders(memberId, q)
预期结果 调用 pageOrdersByMember 一次

MEM-UT-012 注册不校验经营账号存在

要素 内容
测试项 register
测试目的 验证 M7
前置条件 sys_user.user_name 已与商户经营账号绑定(biz_merchant_account.account_id
测试步骤 C 端注册同手机号会员
预期结果 会员注册成功(两库独立)

二、接口测试

MEM-API-001 会员列表分页与默认排序

要素 内容
测试项 GET /agri/member/list
测试目的 验证 §4.2
前置条件 多条会员
测试步骤 pageNum=1
预期结果 registerTime 降序;含 orderCount、totalAmount

MEM-API-002 列表手机号脱敏

要素 内容
测试项 GET /list
测试目的 验证 §10
前置条件
测试步骤 GET list
预期结果 mobile 形如 177****9136

MEM-API-003 keyword 检索昵称

要素 内容
测试项 GET /list
测试目的 验证 M11
前置条件
测试步骤 keyword=测试会员名
预期结果 按 user_name / nick_name 命中

MEM-API-004 status 筛选禁用会员

要素 内容
测试项 GET /list?status=1
测试目的 筛选
前置条件 启用/禁用均有
测试步骤 status=1
预期结果 仅禁用

MEM-API-005 详情含基本信息与地址列表

要素 内容
测试项 GET /{memberId}
测试目的 验证 §5
前置条件 有地址
测试步骤 GET 详情
预期结果 memberCode、nickName、mobile 完整号、addressList、isDefault 标记

MEM-API-006 会员不存在

要素 内容
测试项 GET /999999
测试目的 负向
测试步骤 GET
预期结果 失败;会员不存在

MEM-API-007 禁用会员

要素 内容
测试项 PUT /{id}/status
测试目的 验证 M4
前置条件 status=0
测试步骤 {"status":"1"}
预期结果 成功;再 GET status=1

MEM-API-008 启用会员

要素 内容
测试项 PUT /status
测试目的 验证 §7
前置条件 status=1
测试步骤 status=0
预期结果 成功

MEM-API-009 非法 status 拒绝

要素 内容
测试项 PUT /status
测试目的 校验
测试步骤 status=9
预期结果 失败

MEM-API-010 会员订单列表只读

要素 内容
测试项 GET /{id}/orders
测试目的 验证 §6、M6
前置条件 会员有 2 笔订单
测试步骤 GET orders
预期结果 rows 仅该会员;响应含 operateType=readonly 或等价字段

MEM-API-011 会员订单按订单号检索

要素 内容
测试项 GET /orders
测试目的 验证 M12
前置条件
测试步骤 orderNo=已知
预期结果 命中 1 条

MEM-API-012 会员订单详情成功

要素 内容
测试项 GET /orders/{orderId}
测试目的 验证 §6.4
前置条件 订单属该会员
测试步骤 GET
预期结果 items、traceList; ship/close 写接口字段

MEM-API-013 会员订单详情归属校验失败

要素 内容
测试项 GET /orders/{orderId}
测试目的 验证 M9
前置条件 订单属其他会员
测试步骤 会员 A 查会员 B 的 orderId
预期结果 失败;无权查看该订单

MEM-API-014 会员模块无发货接口

要素 内容
测试项 POST /agri/member/{id}/orders/{oid}/ship
测试目的 验证 M6
测试步骤 任意 POST ship
预期结果 404 或 405

MEM-API-015 无 list 权限 403

要素 内容
测试项 GET /list
测试目的 权限
前置条件 无 agri:member:list
测试步骤 GET
预期结果 403

MEM-API-016 C 端注册成功

要素 内容
测试项 POST /api/member/register
测试目的 C 端
前置条件 新手机号;password 与 confirmPassword 一致
测试步骤 POST Body:mobile、password、confirmPassword、agreementAccepted
预期结果 sys_user + sys_user_role(member) + biz_member 新增;user_name 有值;member_id=user_idregister_time 有值

MEM-API-017 C 端登录启用会员(手机号)

要素 内容
测试项 POST /api/member/login
测试目的 C 端 · 手机号登录
前置条件 status=0
测试步骤 Body:account=手机号、password
预期结果 返回 token、memberId

MEM-API-017b C 端登录启用会员(会员名称)

要素 内容
测试项 POST /api/member/login
测试目的 C 端 · 会员名称(产品所称会员 ID = user_name)登录
前置条件 status=0;已知 sys_user.user_name
测试步骤 Body:account=会员名称、password
预期结果 返回 token、memberId; 数字 member_id 登录

MEM-API-018 C 端禁用会员登录失败

要素 内容
测试项 POST /login
测试目的 验证 M4
前置条件 status=1
测试步骤 login
预期结果 失败;账号已禁用

MEM-API-019 完成后消费统计与列表一致

要素 内容
测试项 跨模块 O11
测试目的 验证 §6.5
前置条件 会员完成 1 笔 pay_amount=100
测试步骤 confirmReceive → GET /agri/member/list
预期结果 orderCount、totalAmount 与订单一致

MEM-API-020 禁用后 C 端下单失败

要素 内容
测试项 POST /api/order/create
测试目的 M4 与下单
前置条件 会员已禁用
测试步骤 create order
预期结果 失败

MEM-API-021 列表仅含 member 角色用户

要素 内容
测试项 GET /agri/member/list
测试目的 列表过滤 member 角色
前置条件 存在仅有 merchant 角色、无 membersys_user;另有正常会员
测试步骤 GET list
预期结果 rows 不含无 member 角色账号

MEM-API-022 平台添加会员

要素 内容
测试项 POST /agri/member
测试目的 平台添加
前置条件 新手机号;agri:member:add
测试步骤 Body:mobile、password、可选 memberCode/nickName
预期结果 code=200data=memberIdsys_user_role 含 member;biz_member 有记录

MEM-UT-013 平台添加委托 RegistrationSupport

要素 内容
测试项 MemberServiceImpl.createMember
测试目的 委托共用逻辑
前置条件 Mock MemberRegistrationSupport
测试步骤 createMember(dto, operator)
预期结果 调用 memberRegistrationSupport.createMember

三、界面测试

MEM-UI-001 会员列表字段展示

要素 内容
测试工具 Playwright
测试步骤 进入会员管理列表
预期结果 列含会员名称(memberCode)、等级、启用、消费次数/金额、注册日期、操作

MEM-UI-002 列表禁用二次确认

要素 内容
测试项 启用开关
测试目的 验证 §4.2
测试步骤 关闭启用开关
预期结果 确认文案含无法登录/下单

MEM-UI-003 查看详情分区与查看订单入口

要素 内容
测试项 详情
测试步骤 点击「查看详情」
预期结果 基本/收货分区;有「查看订单」按钮

MEM-UI-004 查看订单仅详情操作

要素 内容
测试项 会员订单
测试目的 验证 M6
测试步骤 会员列表 → 查看订单
预期结果 操作列仅「查看详情」;无发货/关闭

MEM-UI-005 会员订单详情无写操作按钮

要素 内容
测试项 订单详情
测试步骤 打开会员订单详情
预期结果 无去发货、关闭、删除按钮

MEM-UI-006 空数据友好提示

要素 内容
测试项 空态
前置条件 新会员无订单
测试步骤 查看订单
预期结果 无订单提示

MEM-UI-007 无权限菜单不可见

要素 内容
测试项 权限
前置条件 角色无会员菜单
测试步骤 登录查看菜单
预期结果 无会员管理入口

四、测试数据准备

数据 说明
会员 A 启用;有地址 2 条;有各状态订单
会员 B 禁用
会员 C 无订单
已完成订单 用于 O11 校验
平台角色 含/不含 agri:member:*

五、用例统计

类型 数量
单元测试 MEM-UT 13
接口测试 MEM-API 22
界面测试 MEM-UI 7
合计 42

六、与订单用例协作

场景 订单用例 会员用例
确认收货更新消费 ORD-API-018、ORD-UT-009 MEM-API-019
删店未完成阻断 ORD-API-020
订单只读 ORD-UT-017/018 MEM-API-010~014

文档版本:v1.2 · 关联《会员管理功能需求.md》v1.1、《会员管理技术方案.md》v1.3、《会员注册登录技术方案.md》v1.2、《订单管理测试用例.md》v1.0