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

## 状态
- 对应 SPEC：`docs/specs/plugin-extension-commerce/SPEC.md`
- 最近更新：2026-08-13 03:40

## 待测项

### 未启用商务插件
- [x] 场景：免费文 Web；步骤：打开 show；期望：全文可见，行为同现网
- [x] 场景：密码文 Web；步骤：未解锁打开 → 输错 → 输对；期望：密码页 / 错误 / 全文
- [x] 场景：密码文 API；步骤：GET `/api/v1/articles/{id}`；期望：无 `content`/`content_html` 全文，有 `access.status=need_password`
- [x] 场景：密码文 RSS；步骤：打开 `/rss.xml`；期望：该条目无全文 HTML

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

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

### paid-content
- [x] 场景：后台定价；步骤：编辑文章启用付费设价格保存；期望：`article_products` 有记录
- [x] 场景：互斥；步骤：同时设密码与付费启用；期望：校验失败
- [x] 场景：未购 Web（含未登录）；步骤：打开付费文；期望：试读+购买，`need_purchase`，无全文
- [x] 场景：购买后 Web；步骤：登录 Stub 支付后打开；期望：全文
- [x] 场景：作者/admin；步骤：作者或 admin 打开未购付费文；期望：全文
- [x] 场景：付费文 API/RSS；步骤：匿名拉取；期望：无全文
- [x] 场景：首页列表；期望：不泄露付费/密码全文

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

### 回归
- [x] 场景：免费文 API/RSS；期望：仍有全文（或既有摘要策略不变）
- [x] 场景：主题槽/snippet；期望：不受影响
- [x] 场景：`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 渲染验证 |
