Files
cursor/plans/测试_register_bet_win_6f8e8ea1.plan.md
ray zhou f71a5c59af ok
2026-05-29 11:21:40 +08:00

3.5 KiB
Raw Blame History

name, overview, todos, isProject
name overview todos isProject
测试 register bet win 设计一套不改代码的联调测试方案,覆盖 register、bet、win含中间派奖+最终结算)主流程、幂等与关键校验。输出可直接执行的请求序列和验收点。
id content status
collect-endpoints 整理 register/bet/win 的可调用入口与参数最小集合 completed
id content status
define-test-cases 设计主链路、幂等、参数异常三类用例 completed
id content status
prepare-request-templates 产出按执行顺序排列的请求模板与预期结果 completed
false

Register/Bet/Win 测试计划

目标

  • 用最小链路验证 register -> bet -> win 的资金变更与返回口径。
  • 覆盖 win 的两阶段结算(is_end=0 中间派奖、is_end=1 最终结算)。
  • 覆盖关键风控点:幂等(重复 biz_id)、参数校验(round_idis_end、金额)。

关键实现依据(用于制定用例)

测试范围与步骤

  1. 准备阶段
  • 选一个全新 uid(避免历史账干扰)。
  • 固定 currency/source/organization,并准备唯一 biz_id 生成规则(例如带时间戳)。
  1. 主链路测试Happy Path
  • wallet/update 发起 registertype=register,带 feebonus)。
  • wallet/wallet 查询余额基线。
  • wallet/bet(带 round_id)验证扣款与返回结构。
  • wallet/winis_end=0:确认返回中 withdraw 临时增加(待结算展示),但不落最终账。
  • wallet/winis_end=1:确认最终入账,并清理该 round_id 的待结算累计。
  1. 幂等与异常场景
  • 重放同一 bet.biz_id:应命中幂等,余额不重复变化。
  • 重放同一 win.biz_id:应命中幂等,余额不重复变化。
  • 缺失 round_id 调 bet/win应返回参数错误。
  • 传非法 is_end(如 2应返回参数错误。
  1. 验收口径
  • 余额变化符合顺序:下注优先扣 Bonus再 Deposit再 Withdraw。
  • win 仅在最终结算时落地资金结果;中间派奖只累计。
  • 重复请求无重复记账,返回语义稳定。

建议请求流(逻辑顺序图)

flowchart TD
    registerCall[register(update)] --> walletCheck1[wallet_query]
    walletCheck1 --> betCall[bet]
    betCall --> winMid[win_is_end_0]
    winMid --> walletCheck2[wallet_query]
    walletCheck2 --> winFinal[win_is_end_1]
    winFinal --> walletCheck3[wallet_query]
    walletCheck3 --> idemReplay[replay_same_biz_id]

交付物

  • 一份可直接在 Postman/curl 执行的请求模板(含示例 body
  • 一份对照清单:每一步的“预期返回 + 余额期望 + 幂等期望”。