TenantAtlas/specs/086-retire-legacy-runs-into-operation-runs/quickstart.md
2026-02-10 01:35:24 +01:00

1.4 KiB

Quickstart (Spec 086)

This quickstart is for validating Spec 086 changes locally using Sail.

Prereqs

  • vendor/bin/sail up -d

Run formatting

  • vendor/bin/sail bin pint --dirty

Run targeted tests

Use the minimal test subset relevant to the PR slice you are working on:

  • vendor/bin/sail artisan test --compact --filter=OperationRun
  • vendor/bin/sail artisan test --compact tests/Feature (narrow further to the new/changed files)

Manual verification checklist

Canonical viewer

  • Trigger an operation that creates an OperationRun.
  • Open the canonical URL (from notification action): /admin/operations/{runId}.
  • Confirm the viewer renders from persisted DB state only.

Authorization semantics

  • As a non-workspace-member user, opening /admin/operations/{runId} returns 404.
  • As a workspace member without the required capability for that run type, opening the viewer returns 403.

Dedupe semantics

  • Inventory sync / directory group sync: attempting to start while active reuses the existing active run and links to it.
  • Manual backup schedule run now/retry: each click produces a distinct OperationRun.
  • Scheduled backup: double-fire for the same schedule + intended minute produces at most one OperationRun.

DB-only forms

  • Tenant configuration selectors (directory groups, role definitions) render and search without outbound HTTP calls.
  • “Sync now” actions enqueue operations and provide “View run” link.