Skip to content

T-VEK2-backup-checklist-e2e-suite

State: planning/proposed · Impact: high · Complexity: medium

Turn the manual Determined Backup checklist into a Playwright suite that runs on the web build against the real backend, in a scratch root, so a backup regression is caught without a person clicking through the app.

LocationRole today
solutions/determined/tests/ui/backup/backup.e2e.tsOne end-to-end test, launched by serve-backup.ts
solutions/determined/tests/ui/serve-backup.tsA serveScratchApp(scratchPlatform(...)) launcher on e2e-backup (15109). The checklist cases are not written yet
solutions/determined/tests/ui/backup/harness.tsThe spec’s scratch fixture, from @sksizer/app-harness/playwright
solutions/determined/moon.ymltest-ui-backup task exists, runInCI: false
solutions/determined/tests/fixtures/obsidian-vaultFixture vault

The backup project runs through scratchPlatform and covers the checklist:

CaseAsserts
First-run gateVault chosen via the typed path field on web
Back upA snapshot appears
Restore and UndoFile content returns, then Undo reverts it
Deleted-file restoreA deleted file comes back
Store path, Finder hidden on webThe store path shows; the Finder reveal button is absent on web
ScheduleA 1-minute schedule produces a snapshot; tagged slow
Restart persistenceAfter restart(), settings and snapshots remain

serve-backup.ts is deleted.

  1. Pass schedule to scratchPlatform for the schedule case.
  2. Add the missing cases to the existing spec.
  3. Tag the schedule case slow so default runs skip it.
  4. Delete serve-backup.ts, so no serve-*.ts launcher remains for backup, in the same shape T-GXNH uses for the other suites.
AreaNote
solutions/determined/tests/ui/backup/Suite
solutions/determined/playwright.config.tsBackup project
solutions/determined/tests/ui/serve-backup.tsDeleted
  • AC-1: moon run determined-root:test-ui-backup passes three runs in a row locally.
  • AC-2: The harness’s post-boot isolation check passes on every run. With a marker file touched before the run, find <real suite durable home> -newer <marker> lists nothing after it. Note: backup state stayed in the scratch root on every run; the listed writes came from concurrent polish e2e (serve-polish-lint.ts) and the installed Fitness app, so a clean back-to-back run needs those quiet.
  • AC-3: Every case in the table above has a test; the schedule case runs only when slow tests are enabled.
  • AC-4: serve-backup.ts no longer exists.
  • CI wiring (T-CAWD).
  • Other platform-server suites (T-GXNH).
  • T-BDRY for --backup-schedule.
  • T-4HBC for the harness and adapter.
  • Manual testing of Determined Backup.app showed most of the checklist can run on the web build.

T-BDRY, T-4HBC


← Back to Tasks