admin-fund-pin-frontend
靶子 http://localhost:20098
✅ 会员列表上找得到详情页入口(否则下面全是空转)
✅ 详情页上有可用积分输入框
✅ ① 改积分弹出了 PIN 输入框
✅ ① 弹窗文案是要 PIN
✅ 🔴 ① 取消 PIN 后一个请求都没发出去(钱一分不动)
✅ ② 发出了恰好 1 个请求
✅ ② 该请求是 POST
✅ 🔴 ② 请求体里带上了 pin
✅ ② 请求体里带上了 cmd=2
✅ ② 请求体里带上了改后的积分值
✅ 🔴 ③ PIN 被拒时弹出了错误提示(改前是静默刷新,与成功同形)
✅ ③ 提示里就是后端给的那句话
【批量发放表单 —— 两段式】
✅ ④ 发出了预览请求
✅ ④ 预览请求不带 confirm
✅ 🔴 ④ 弹出了影响面确认框
✅ ④ 确认框里有人数与合计金额
✅ 🔴 ④ 取消确认后没有发出执行请求(钱一分不动)
✅ ④ 取消确认后不该再问 PIN
✅ ⑤ 一共发出 2 个请求(预览 + 执行)
✅ ⑤ 确认之后才问 PIN
✅ ⑤ 执行请求带 confirm=1
✅ ⑤ 执行请求带 pin
✅ ⑤ 输入 5 元 → 提交的是 500 分
✅ ⑤ 两次提交的 value 相同
✅ ⑤ 执行完把回执 alert 出来了
✅ ⑤ 回执里带着执行数与跳过数
✅ ⑥ 一共发出 3 个请求(预览 / 预览 / 执行)
✅ 🔴 ⑥ 每一次提交的金额都还是 500 分(输入框没有被就地放大)
✅ 🔴 ⑦ 真后端的预览响应确实弹出了确认框(payload 形态对得上)
✅ ⑦ 确认框内容来自真后端:含人数
✅ ⑦ 确认框内容来自真后端:含档位名
✅ ⑦ 确认框内容来自真后端:含 currency_meta 算出的符号与金额
✅ 🔴 ⑦ 全程没有任何执行请求被放出去(生产库零写入)
【⑧ 会员详情页 4 个 handler —— 失败必须响亮】
✅ ⑧ 邮箱:确实把请求发出去了(否则下面在空转)
✅ 🔴 ⑧ 邮箱:后端拒绝时弹出了提示(改前是静默刷新)
✅ ⑧ 邮箱:提示文本就是后端给的那句
✅ ⑧ 等级:确实把请求发出去了(否则下面在空转)
✅ 🔴 ⑧ 等级:后端拒绝时弹出了提示(改前是静默刷新)
✅ ⑧ 等级:提示文本就是后端给的那句
✅ ⑧ 冻结:确实把请求发出去了(否则下面在空转)
✅ 🔴 ⑧ 冻结:后端拒绝时弹出了提示(改前是静默刷新)
✅ ⑧ 冻结:提示文本就是后端给的那句
✅ ⑧ 解冻:确实把请求发出去了(否则下面在空转)
✅ 🔴 ⑧ 解冻:后端拒绝时弹出了提示(改前是静默刷新)
✅ ⑧ 解冻:提示文本就是后端给的那句
✅ ⑧ 守卫 邮箱:成功路径请求照常发出
✅ 🔴 ⑧ 守卫 邮箱:成功时不弹 alert
✅ ⑧ 守卫 等级:成功路径请求照常发出
✅ 🔴 ⑧ 守卫 等级:成功时不弹 alert
✅ ⑧ 守卫 冻结:成功路径请求照常发出
✅ 🔴 ⑧ 守卫 冻结:成功时不弹 alert
✅ ⑧ 守卫 解冻:成功路径请求照常发出
✅ 🔴 ⑧ 守卫 解冻:成功时不弹 alert
✅ ⑨ 哨兵:全程零原生弹窗
=== PASS=54 FAIL=0 ===