TenantAtlas/specs/376-browser-audit-fixture-coverage-evidence-system-surfaces/artifacts/fixture-design.md
ahmido f6dbc89edb test: add spec 376 browser fixture coverage (#447)
Adds browser fixture coverage for evidence system surfaces as described in Spec 376.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #447
2026-06-13 11:22:19 +00:00

2.7 KiB

Fixture Design

Design Decision

No new fixture route or command is needed. Existing repo-native patterns are sufficient:

  • Admin-plane surfaces use GET /admin/local/smoke-login in local/testing.
  • System-plane surfaces use Pest Browser actingAs($platformUser, 'platform').
  • Data is created with existing factories and test helpers.

Per-Surface Fixture Contract

Surface Auth Scope Data source Existing fixture source New fixture source Local/testing guarantee Browser URL Failure mode if regressed
Evidence Snapshot View web guard through admin.local.smoke-login workspace + environment seedEnvironmentReviewEvidence() Spec 372 smoke pattern Spec 376 local test fixture smoke-login route is local/testing-only EvidenceSnapshotResource::getUrl('view', ...) auth-blocked, scope-blocked, or data-blocked
Required Permissions web guard through admin.local.smoke-login workspace + environment ManagedEnvironmentPermission rows from configured permission registry Spec 353/283 patterns Spec 376 local permission seed helper smoke-login route is local/testing-only ManagedEnvironmentLinks::requiredPermissionsUrl() auth-blocked, scope-blocked, or data-blocked
System Dashboard platform guard via Pest Browser actingAs platform plane PlatformUser capabilities Spec 276 pattern Spec 376 platform user fixture no HTTP fixture route added /system auth-blocked or capability-blocked
System Operations platform guard via Pest Browser actingAs platform plane same PlatformUser; empty-state data allowed Spec 276 pattern Spec 376 platform user fixture no HTTP fixture route added /system/ops/runs auth-blocked or capability-blocked
Provider Connection Detail web guard through existing admin session workspace + record-derived environment authority ProviderConnection::factory()->platform()->verifiedHealthy() plus explicit environment_id Spec 353/281 patterns Spec 376 local provider connection fixture no new route added ManagedEnvironmentLinks::providerConnectionUrl(..., 'view', $environment) scope-blocked, data-blocked, or timeout-blocked

Route Safety

  • No system smoke-login route was added.
  • No admin smoke-login behavior was changed.
  • No redirect validation behavior was changed.
  • No production route or product UI route was added.

Browser Screenshot Contract

Screenshots are saved under artifacts/screenshots/:

  • 001-evidence-snapshot-view.png
  • 002-required-permissions.png
  • 003-system-dashboard.png
  • 004-system-operations.png
  • 005-provider-connection-detail.png