Automated tests for updater flows (pytest + Playwright smoke) #7

Open
opened 2025-12-15 00:36:46 +00:00 by 44r0n7 · 0 comments
Owner

Proposal

  • Add pytest suite with fixtures that mock releases API/manifest/bundle to cover:
    • check_for_update (stable/dev, manifest missing, dev disabled).
    • apply_update_version success/fail, hash mismatch, tar traversal blocked, stale lock recovery.
    • runner enqueue + state transitions (once runner refactor lands).
  • Add a minimal Playwright smoke that opens the Updates modal, runs a mocked check, toggles dev builds, exercises manual selection, and verifies log copy/download works.
  • Integrate into CI to catch regressions.

Acceptance

  • Tests run via pytest and pass in CI.
  • Playwright smoke runs headless and fails build on UI regression.
  • Coverage includes stale-lock recovery and manual picker flows.
Proposal - Add pytest suite with fixtures that mock releases API/manifest/bundle to cover: * check_for_update (stable/dev, manifest missing, dev disabled). * apply_update_version success/fail, hash mismatch, tar traversal blocked, stale lock recovery. * runner enqueue + state transitions (once runner refactor lands). - Add a minimal Playwright smoke that opens the Updates modal, runs a mocked check, toggles dev builds, exercises manual selection, and verifies log copy/download works. - Integrate into CI to catch regressions. Acceptance - Tests run via `pytest` and pass in CI. - Playwright smoke runs headless and fails build on UI regression. - Coverage includes stale-lock recovery and manual picker flows.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: 44r0n7/pi-kit#7