Skip to content

chore(runner): shared e2e helpers, and a failure report that isn't empty (DEV-2203) - #181

Closed
danielzytohoc wants to merge 2 commits into
masterfrom
chore/DEV-2203-e2e-foundation
Closed

chore(runner): shared e2e helpers, and a failure report that isn't empty (DEV-2203)#181
danielzytohoc wants to merge 2 commits into
masterfrom
chore/DEV-2203-e2e-foundation

Conversation

@danielzytohoc

@danielzytohoc danielzytohoc commented Aug 14, 2026

Copy link
Copy Markdown

First of the DEV-2203 series (E2E suite for the demo runner, run against production).

What

  • runner/e2e/helpers.ts — the suite's most-copied code becomes a shared module: stubShell and signIn existed verbatim in nine specs, the session-cleanup pattern in two, the console-noise filter in one. Also exports the readiness/grid helpers (previewReady, expectGridRendered) built on the documented data-preview-status test contract, and workspaceFiles() for the window.__HOT_FILES__ hook that lands with the Style-panel spec PR. New specs import from here; existing specs keep their local copies and migrate opportunistically — a mass rewrite would churn thousands of spec lines for zero behaviour change.
  • Reporter fix — in CI the github reporter never writes playwright-report/, so the on-failure artifact both workflows upload has been empty since they were added. CI now also runs the html reporter, and the workflows upload test-results/ too (where traces actually land).
  • fflate root devDependency — so upcoming specs can assert on the contents of a downloaded workspace zip (the app already builds those zips with fflate at the same version).

Verification

pnpm build + pnpm typecheck + pnpm test (360 pass) + full deterministic pnpm e2e (152 passed, 124 live-gated skips, 0 failures).

Part of DEV-2203; next in the series: share-view, editor/version, engine/docs-frameworks, style-panel specs, then the workflow wiring.


Note

Low Risk
Test infrastructure and CI artifact wiring only; no production app or auth logic changes in this diff.

Overview
Introduces runner/e2e/helpers.ts as the shared Playwright toolkit for DEV-2203: deterministic shell stubs (stubShell, signIn), editor/preview helpers (activeEditor, workspaceFiles, pickFromMenu, previewReady, expectGridRendered), console noise filtering, and Tier-2 trackSessions cleanup. Existing specs are not bulk-migrated; new work imports from here.

CI debugging: Playwright in CI now runs the html reporter alongside list and github, because the github reporter alone never populated playwright-report/. ci.yml and e2e-live.yml upload both runner/playwright-report/ and runner/test-results/ (traces) on failure, with if-no-files-found: warn.

Adds root fflate devDependency for upcoming specs that assert on downloaded workspace zip contents.

Reviewed by Cursor Bugbot for commit d7e9481. Bugbot is set up for automated code reviews on this repo. Configure here.

…pty (DEV-2203)

The suite's most-copied code becomes e2e/helpers.ts: stubShell and signIn
existed verbatim in nine specs, the session-cleanup pattern in two, the
noise filter in one. New DEV-2203 specs import from here; existing specs
migrate opportunistically.

CI kept uploading runner/playwright-report/ on failure, but the 'github'
reporter never writes it — the artifact has been empty since the workflow
was added. The html reporter now fills it, and both workflows also upload
test-results/ (where traces actually land).

fflate joins the root devDependencies so specs can assert on the contents
of a downloaded workspace zip (the app already builds them with fflate).
…foundation

# Conflicts:
#	runner/package.json
#	runner/pnpm-lock.yaml
@danielzytohoc

Copy link
Copy Markdown
Author

Collapsed into #184 (Dan's call: spec-only PRs reviewed as one unit — #184 now bases on master and carries this PR's commits; nothing was dropped). The branch stays for history.

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