Skip to content

test(e2e): add demo walkthrough recorder and four demo scripts - #202

Draft
phpbits wants to merge 7 commits into
mainfrom
feature/e2e-improvements
Draft

phpbits wants to merge 7 commits into
mainfrom
feature/e2e-improvements

Conversation

@phpbits

@phpbits phpbits commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a Playwright demo recorder under tests/e2e/demo/. It records one captioned video with a visible cursor of the feature an intake delivered, so QA and clients can watch the feature instead of reading a test report. No model is used while recording.

  • kit.js: caption bar, cursor dot, paced clicks, login helper.
  • playwright.demo.config.js: video on, one worker, output in tests/e2e/test-results/demo/<intake>/ (already gitignored).
  • check.js: check confirms the demo's declared ACs belong to the intake and the build matches; finish writes walkthrough.webm and a manifest.
  • Demo scripts for four intakes: e492c759 (publication selector), c37d0fc8 (test email), c304d230 (require template), 862095db (email preview, including the Desktop and Mobile views).

Nothing outside tests/e2e/demo/ changes. The QA specs and plugin code are untouched, and the demo does not write the QA run's results.json or dashboard.html.

How to run

DEMO_SPEC=862095db.demo.js npx playwright test --config tests/e2e/demo/playwright.demo.config.js

Check out the intake's build first and run npm run build. Needs the wp-env tests environment on port 8891. Each script targets the build named in its header.

Notes

  • beehiiv is mocked through the existing tests-only seams, so the preview email in the video is sample content (AC-004, the real rendered email, is not shown).
  • Each demo shows only a subset of its intake's ACs. The manifest lists the rest.
  • npm run lint:js passes.

Playwright config, helpers and per-intake walkthrough scripts that record
one captioned demo video per intake. Output goes to the gitignored
tests/e2e/test-results/demo/ folder.
Records the settings toggle, the empty template field, the blocked send and
the unblocked send on the feature/19814561-settings-require-template build.
Records the Preview email control, the sandboxed preview modal, the
save-before-preview rule, a failed preview with retry, and the unavailable
state on an already scheduled post.
@phpbits phpbits changed the title test(e2e): add intake demo walkthrough recorder and four demo scripts test(e2e): add demo walkthrough recorder and four demo scripts Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant