Files
larablog/docs/specs/plugin-extension-commerce/TESTPLAN.md
T
gouki 3cec4c5e18
CI / PHPUnit (PHP 8.3) (push) Failing after 4s
CI / PHPUnit (PHP 8.2) (push) Failing after 1m9s
CI / Deploy (manual gate) (push) Skipped
wip: article AI polish, category SEO fields, cover generator, membership plan seeder
2026-09-07 18:48:37 +00:00

4.0 KiB
Raw Blame History

插件扩展面 + 支付 / 内容付费 — 待测清单

状态

  • 对应 SPECdocs/specs/plugin-extension-commerce/SPEC.md
  • 最近更新:2026-08-13 03:40

待测项

未启用商务插件

  • 场景:免费文 Web;步骤:打开 show;期望:全文可见,行为同现网
  • 场景:密码文 Web;步骤:未解锁打开 → 输错 → 输对;期望:密码页 / 错误 / 全文
  • 场景:密码文 API;步骤:GET /api/v1/articles/{id};期望:无 content/content_html 全文,有 access.status=need_password
  • 场景:密码文 RSS;步骤:打开 /rss.xml;期望:该条目无全文 HTML

依赖与插件管理

  • 场景:仅启用 paid-content;步骤:后台启用;期望:拒绝并提示需要 payment
  • 场景:先 payment 再 paid-content;步骤:依次启用;期望:成功
  • 场景:查看说明;步骤:插件卡片打开 docs;期望:可见 README 内容
  • 场景:禁用后 UI;步骤:禁用两插件;期望:订单菜单/付费表单 Section 消失
  • 场景:禁用被依赖的 payment;期望:拒绝并提示 dependents

payment Stub

  • 场景:登录建单支付;步骤:对测试商品走 checkout → 模拟成功;期望:order=paid、entitlement 有效、触发逻辑可观测
  • 场景:后台标记已支付;步骤:pending 订单点标记;期望:同上入账(人工)
  • 场景:重复购买;步骤:已有权益再 checkout;期望:拒绝并提示
  • 场景:未登录 checkout;步骤:访问建单;期望:重定向 /login.shtml(非 500

paid-content

  • 场景:后台定价;步骤:编辑文章启用付费设价格保存;期望:article_products 有记录
  • 场景:互斥;步骤:同时设密码与付费启用;期望:校验失败
  • 场景:未购 Web(含未登录);步骤:打开付费文;期望:试读+购买,need_purchase,无全文
  • 场景:购买后 Web;步骤:登录 Stub 支付后打开;期望:全文
  • 场景:作者/admin;步骤:作者或 admin 打开未购付费文;期望:全文
  • 场景:付费文 API/RSS;步骤:匿名拉取;期望:无全文
  • 场景:首页列表;期望:不泄露付费/密码全文

Review 修复验证(Bugbot 2026-08-12

  • 场景:trial_value 大于正文长度的付费短文;期望:Web/API 均看不到结尾内容
  • 场景:两个 article.access 监听器(先收紧后放行 + 一个返回非法值);期望:最终仍 need_purchase
  • 场景:manifest docs../../../../.env;期望:docsPath/readDocs 返回 null
  • 场景:zh_CN 下打开付费内容使用说明;期望:中文 HTML(含标题),不是英文 Markdown 原文
  • 场景:仅有 README.md 或语言为 en;期望:回退英文 README
  • 场景:locale 含 ..;期望:忽略该 locale,仍只读插件目录内 README
  • 场景:同一商品连续两次 checkout;期望:复用同一 pending 单
  • 场景:已由 A 单开通权益后对 B 单 markPaid;期望:抛错拒绝
  • 场景:隐藏/未发布付费文 checkout;期望:422 且不建单
  • 场景:复用 pending 单时价格已变;期望:订单与明细按新价刷新,仍只有 1 张单

回归

  • 场景:免费文 API/RSS;期望:仍有全文(或既有摘要策略不变)
  • 场景:主题槽/snippet;期望:不受影响
  • 场景:php artisan test 相关用例全绿(40 passed

变更记录

时间 原因 变更
2026-08-12 00:17 SPEC 定稿后初版 创建待测清单
2026-08-12 00:50 实现+qodercli 闭环 勾选自动化覆盖项;后台标记已支付留人工
2026-08-12 01:01 Bugbot review 修复 新增 6 条 Review 修复验证项,全部自动化覆盖
2026-08-12 01:12 复用单重新定价 新增第 7 条验证项(新价刷新且不叠单)
2026-08-13 03:40 使用说明不可读 补充 locale README 与 HTML 渲染验证