test(e2e): add Playwright diagnostics harness - #143
Conversation
🔍 CI Check Results
✅ All Required Checks Passed!This PR is ready for review and can be merged. Automated CI check • View workflow run |
…ce capture on failure - Install @playwright/test as dev dependency - Add playwright.config.ts with failure diagnostics (screenshot, video, trace) - Add npm scripts: test:e2e, test:e2e:ui, test:e2e:server
Add comprehensive Home Assistant fixture for E2E testing: - fixture-version.json: Metadata and versioning - floor_registry.json: 2 floors (ground, first) - area_registry.json: 5 areas with floor mappings - label_registry.json: 3 labels (utility, outside, security) - device_registry.json: 12 devices with area assignments - entity_registry.json: 28 entities with device/area relationships - states.json: Representative entity states including unavailable - icons.json: Frontend icons for entity_component and services - linus_config.json: Linus Dashboard configuration Preserves entity↔device↔area↔floor hierarchy for reproducible tests
- add a versioned Home Assistant fixture that preserves entity↔area↔floor mappings - boot a lightweight local test server and Playwright harness - capture screenshots, video, and traces on failure - add scripts for local E2E execution
- add a dedicated E2E workflow on PRs, push, and manual dispatch - upload Playwright report and trace/video artifacts on failure - keep the workflow isolated from the feature MR
- explain the versioned Home Assistant fixture strategy - document the screenshot/video/trace artifacts on failure - document local and CI execution
4ab7ed7 to
e26c446
Compare
🎥 Playwright E2E artifactsThese tests exercise the dashboard generation against the versioned HA fixture. What is covered
ArtifactsWhat to inspect
Workflow run |
🎥 Playwright E2E reportOpen the report directly in the browser: Playwright HTML report What is covered
Debug artifacts
Workflow run |
s4piens
left a comment
There was a problem hiding this comment.
Review indépendante — verdict : approve
The Playwright E2E harness is integrated across CI, fixtures, and reporting, and the additional workflow/docs changes line up with the new diagnostics flow.
🔴 Blocking : 0 · 🟡 Important : 0 · 🟢 Suggestion : 0
Points positifs
- The fixture bundle is explicit and versioned, which should make regression runs reproducible.
- The PR posts a PR-side status summary so failures are easier to diagnose without opening the raw logs.
Risques résiduels
- The workflow depends on GitHub Pages deployment and Playwright artifact publication, so any permissions regression would surface at runtime rather than in static diff review.
Postée automatiquement. Aucun merge, aucune approbation : la décision reste humaine.
s4piens
left a comment
There was a problem hiding this comment.
Review indépendante — verdict : approve
The PR adds a Playwright E2E diagnostics harness, a versioned Home Assistant fixture bundle, and CI publishing for failure artifacts. The change set is coherent and the collected GitHub checks are green.
🔴 Blocking : 0 · 🟡 Important : 0 · 🟢 Suggestion : 0
Points positifs
- The PR keeps the diagnostics logic self-contained under tests/e2e and tests/ha-fixture.
- CI failure artifacts should materially improve triage for regressions.
- The fixture versioning makes the E2E data set auditable and reproducible.
Risques résiduels
- Generated bundle and source map churn is large; future fixture or harness changes may need careful regeneration discipline.
- The new workflow depends on GitHub Pages/deploy-pages behavior remaining stable.
Postée automatiquement. Aucun merge, aucune approbation : la décision reste humaine.
Summary
Commits
5827f2dtest(e2e): add Playwright HA regression harnessed9db88ci(e2e): upload Playwright failure artifactse471db6docs(testing): document the Playwright E2E setupValidation
npm run test:e2e✅npm run type-checksrc/cards/SwipeCard.ts/src/types/lovelace-mushroom/cards/swipe-card-config.tsnpm run buildNotes