active()->create(['name' => 'Recovery ManagedEnvironment']); [$user] = createUserWithTenant(tenant: $tenant, role: 'owner'); session()->forget(WorkspaceContext::SESSION_KEY); $this->actingAs($user) ->get('/admin/workspaces') ->assertOk() ->assertSee('Context unavailable') ->assertSee('Choose workspace'); }); it('shows explicit recovery wording when an invalid tenant hint is discarded on a workspace route', function (): void { $validTenant = ManagedEnvironment::factory()->active()->create(['name' => 'Valid Workspace ManagedEnvironment']); [$user, $validTenant] = createUserWithTenant(tenant: $validTenant, role: 'owner'); $foreignTenant = ManagedEnvironment::factory()->active()->create(['name' => 'Foreign Workspace ManagedEnvironment']); createUserWithTenant(tenant: $foreignTenant, user: User::factory()->create(), role: 'owner'); $this->actingAs($user) ->withSession([ WorkspaceContext::SESSION_KEY => (int) $validTenant->workspace_id, ]) ->get(route('admin.operations.index', ['tenant' => $foreignTenant->external_id])) ->assertOk() ->assertSee('Context unavailable') ->assertSee('No tenant selected') ->assertDontSee('ManagedEnvironment scope: '.$foreignTenant->name); });