onboarding()->create([ 'name' => 'Onboarding Tenant', ]); [$user, $tenant] = createUserWithTenant(tenant: $tenant, role: 'owner'); $run = OperationRun::factory()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'tenant_id' => (int) $tenant->getKey(), 'type' => 'inventory_sync', 'status' => OperationRunStatus::Completed->value, 'outcome' => OperationRunOutcome::Succeeded->value, ]); Filament::setTenant(null, true); $this->actingAs($user) ->withSession([WorkspaceContext::SESSION_KEY => (int) $tenant->workspace_id]) ->get(route('admin.operations.view', ['run' => (int) $run->getKey()])) ->assertOk() ->assertSee('Run tenant is not available in the current tenant selector') ->assertSee('This tenant is currently onboarding and may not appear in the tenant selector.') ->assertSee('Tenant lifecycle') ->assertSee('Onboarding') ->assertSee('Tenant selector context') ->assertSee('Some tenant follow-up actions may be unavailable from this canonical workspace view.'); }); it('renders archived referenced tenant lifecycle consistently in the viewer banner and summary card', function (): void { $activeTenant = Tenant::factory()->create([ 'name' => 'Active Tenant', ]); [$user, $activeTenant] = createUserWithTenant(tenant: $activeTenant, role: 'owner'); $archivedTenant = Tenant::factory()->active()->create([ 'workspace_id' => (int) $activeTenant->workspace_id, 'name' => 'Archived Tenant', ]); createUserWithTenant(tenant: $archivedTenant, user: $user, role: 'owner'); $archivedTenant->delete(); $run = OperationRun::factory()->create([ 'workspace_id' => (int) $activeTenant->workspace_id, 'tenant_id' => (int) $archivedTenant->getKey(), 'type' => 'inventory_sync', 'status' => OperationRunStatus::Completed->value, 'outcome' => OperationRunOutcome::Succeeded->value, ]); Filament::setTenant(null, true); $this->actingAs($user) ->withSession([WorkspaceContext::SESSION_KEY => (int) $activeTenant->workspace_id]) ->get(route('admin.operations.view', ['run' => (int) $run->getKey()])) ->assertOk() ->assertSee('Run tenant is not available in the current tenant selector') ->assertSee('This tenant is currently archived and may not appear in the tenant selector.') ->assertSee('Tenant lifecycle') ->assertSee('Archived') ->assertSee('Viewer context') ->assertDontSee('deactivated'); });