test(smoke): dossier page smoke guard — assert HTTP 200 + #prab-dossier + no fatal (v1.2.0) #14

Merged
peptiderepo merged 3 commits from claude/phase2-admin-m2-20260612 into main 2026-06-12 11:29:25 +00:00
peptiderepo commented 2026-06-12 10:41:08 +00:00 (Migrated from github.com)

What

Adds dossier page smoke test to 03-admin-plugins.spec.ts (WP Admin — PRAutoBlogger Article Dossier).

Guards against:

  1. Menu-ordering regression: wrong hookname → wp_die 404 (same failure class as v0.19.1 board bug)
  2. PHP fatal on dossier load: no includes missing, no assembler fatal
  3. Missing #prab-dossier container: template regression guard
  4. Stage-section regression: .prab-stage-section must render when run data exists

Assertions: HTTP 200 + #prab-dossier visible + no "Invalid plugin page" + no "Fatal error". Stage sections conditional (pre-substrate posts get graceful empty state, not a failure).

npx playwright test --list → 24 tests (was 23). New test at line 185.

Why

Binding 3 from go-order 16-cto-m2-go-order.md: peptide-e2e dossier smoke in the same milestone as PRAutoBlogger v0.19.2. Companion: peptiderepo/prautoblogger#158.

Risk

Low. Read-only page test. Defensive: tries staging posts 925/930, falls back to most recent post, falls back to post_id=0 (graceful empty state). All paths terminate with #prab-dossier assertion.

Test plan

  • npx playwright test --list — 24 tests, TypeScript compiles
  • New test: 03-admin-plugins.spec.ts:185 — dossier page loads and dossier container is present
  • CI smoke gate will run on staging

Convo thread

prautoblogger/threads/2026-06-pipeline-v2-phase2-admin/ seq 18

## What Adds dossier page smoke test to `03-admin-plugins.spec.ts` (`WP Admin — PRAutoBlogger Article Dossier`). Guards against: 1. **Menu-ordering regression**: wrong hookname → wp_die 404 (same failure class as v0.19.1 board bug) 2. **PHP fatal on dossier load**: no includes missing, no assembler fatal 3. **Missing `#prab-dossier` container**: template regression guard 4. **Stage-section regression**: `.prab-stage-section` must render when run data exists Assertions: HTTP 200 + `#prab-dossier` visible + no "Invalid plugin page" + no "Fatal error". Stage sections conditional (pre-substrate posts get graceful empty state, not a failure). `npx playwright test --list` → 24 tests (was 23). New test at line 185. ## Why Binding 3 from go-order `16-cto-m2-go-order.md`: peptide-e2e dossier smoke in the same milestone as PRAutoBlogger v0.19.2. Companion: peptiderepo/prautoblogger#158. ## Risk **Low.** Read-only page test. Defensive: tries staging posts 925/930, falls back to most recent post, falls back to post_id=0 (graceful empty state). All paths terminate with `#prab-dossier` assertion. ## Test plan - `npx playwright test --list` — 24 tests, TypeScript compiles - New test: `03-admin-plugins.spec.ts:185` — dossier page loads and dossier container is present - CI smoke gate will run on staging ## Convo thread `prautoblogger/threads/2026-06-pipeline-v2-phase2-admin/` seq 18
Sign in to join this conversation.