跳转至

端到端测试场景

前置:make up(或等价)、make seed、短信/支付 mock 可用。

场景 S1:配置到生图(Admin → Canvas)

目标:运营配置可被 C 端使用并成功生图扣费。

步骤 角色 操作 预期表/结果
1 Admin 登录后台 admin JWT
2 Admin 在品类下创建/启用风格 product_styles
3 Admin 创建主图风格模板套:写入品类+风格 ids;上传子图(可设封面) main_image_templates, template_images
4 Admin 模型池有可用成员与账号 ai_model_groups, ai_models, bindings
5 User Canvas 登录 → /main-image
6 User 选同一品类/风格 → 确认模板套 → 填产品/材质 →(可选复刻参考图)batch-generate tasks completed;consumption_recordsusage_quotas.used↑

失败注入:停用风格/模板 → list/match 空;配额清零 → BE-REQ-022;缺 custom_product/custom_material → 400。


场景 S2:代理获客分佣(Agent → Canvas → Admin)

步骤 角色 操作 预期
1 Agent 登录门户,Links 复制 /r/{code} agents.agent_code
2 Agent Settings 设优惠 10% customer_discount_rate=10
3 User 打开落地页 agent_link_clicks +1
4 User 登录并绑定 customer_agent_bindings 一行
5 User Account 购买方案并 mock-pay orders.paid;金额含折扣逻辑
6 查库/Agent 分佣页 commission_records pending/settled
7 Admin 结算分账(可选) status=settled;agent balance↑

约束:另开用户尝试改绑其他代理 → 失败。


场景 S3:画布项目乐观锁

步骤 操作 预期
1 User 创建项目,revision=0 canvas_projects
2 标签 A 保存 expected=0 → revision=1 成功
3 标签 B 仍用 expected=0 保存 HTTP 409;库 revision 仍为 1
4 B 拉取最新再保存 成功 revision=2

场景 S4:提现审批

步骤 角色 操作 预期
1 API/工具 Agent 有 balance,发起 withdraw agent_withdrawals.pending;余额预占
2 Admin /admin/billing/withdrawals 拒绝 status=rejected;余额恢复
3 再次申请 Admin 通过 approved;withdrawn_commission↑

场景 S5:结算扫码(开发)

步骤 操作 预期
1 Agent Settlement 选支付宝扫码 返回 token/QR
2 mock-confirm settlement_account* 写入
3 切换微信 Confirm 后可重新绑定

场景 S6:工作台冒烟清单(P1)

对每个路径完成「选最小必填 → 预览或 generate」:

/hot-shoot, /main-image, /detail-image, /scene-replace, /hot-replicate, /model-gen, /single-model, /double-model, /canvas

记录:任务类型、是否出图、错误信息。


测试数据检查清单

  • [ ] 管理员手机号可收码(或 mock)
  • [ ] 至少 1 个在售 member_plans
  • [ ] 产品树与模板 seed 完整
  • [ ] storage 健康(上传不 502)
  • [ ] Redis/Worker 对异步任务 Ready