Adds 06-board-generate-now.spec.ts for the PRAutoBlogger board Generate
Now control shipping in v0.21.0 (PR #166). Two tests:
1. Board page loads and #prab-generate-now button is present with nonce.
2. Kick-off AJAX (prautoblogger_generate_now) returns valid JSON — no PHP
fatal, no wp_send_json_error from a missing nonce.
SKIP-IF-ABSENT: when #prab-board or #prab-generate-now is absent (M4 not
yet deployed) both tests skip with loud annotations so this e2e PR can
merge before prautoblogger PR #166 per the M2/M3 merge-order binding.
READ-ONLY: never waits for generation to complete; kick_off() is
idempotent (guards against duplicate cron scheduling).
Agent-Session: phase2-admin-m4-20260614
Merged ahead of the v0.19.3 dossier fix so staging smoke gates it.
QA: APPROVE qa-reviews/peptide-e2e/2026-06-12-0c5c301.md (re-head after conflict resolution)
Agent-Session: cto-dossier-403-hotfix-20260612
Guards the submenu-before-parent 404 class in the deploy gate.
QA: APPROVE-W-P2 qa-reviews/peptide-e2e/2026-06-12-113bb17.md
Agent-Session: cto-board-404-hotfix-merge-20260612
The peptide CPT menu was restructured (no top-level 'Peptides' label), so the
text=Peptides assertion failed. Assert the CPT's admin link by href
(a[href*='post_type=peptide']) and toBeAttached — robust to label changes and
submenu (hidden-until-hover) placement.
Agent-Session: cto smoke-green
Co-authored-by: peptiderepo <peptiderepo@users.noreply.github.com>
- 02 search: target the visible .hero-search instance; the old .first()
selector matched the hidden header search-overlay (instance 1).
- 01 calculator: it auto-computes from the peptide preset; select the peptide
and assert #prc-results, scoped to .prc-calculator (the old broad
button[type=submit] selector clicked the PSA search button).
- 03 admin: 'const nav' had been swallowed into a comment (ReferenceError).
- 04 rest-api: PSA /search returns {results:[]} with no 'status' key; drop it.
Auth fixed separately via a dedicated staging CI admin (ci-smoke) + corrected
STAGING_WP_ADMIN_* secrets; the global.setup failure was cascading into these.
Agent-Session: cto smoke-green
Co-authored-by: peptiderepo <peptiderepo@users.noreply.github.com>
- 01 calculator: page lives at /calculator/ (confirmed live), not
/reconstitution-calculator/ — the 404 failed all 3 calc tests.
- 00 homepage: brand title is 'Peptide Repo' (with space); regex /peptiderepo/i
never matched. Broadened to /peptide ?repo/i.
- 03 admin: required-plugin slug is 'prautoblogger' (WP dir), not 'pr-autoblogger'.
These were test bugs, not site regressions — the site serves all three correctly.
Agent-Session: cto smoke-triage
Co-authored-by: peptiderepo <peptiderepo@users.noreply.github.com>
03-admin-plugins.spec.ts and 04-rest-api.spec.ts were cut off mid-test,
causing Playwright TypeScript parse failures and the smoke gate to show
0 jobs. Added the missing test bodies, assertions, and closing braces.
New tests added:
- PR Core Settings page loads (03)
- Peptide CPT verified via /wp-json/wp/v2/types/peptide (04)
Fixes smoke gate for all future deploys.