create(); $workspace = Workspace::factory()->create(); $secondaryWorkspace = Workspace::factory()->create(); WorkspaceMembership::factory()->create([ 'workspace_id' => $workspace->getKey(), 'user_id' => $user->getKey(), 'role' => 'owner', ]); WorkspaceMembership::factory()->create([ 'workspace_id' => $secondaryWorkspace->getKey(), 'user_id' => $user->getKey(), 'role' => 'operator', ]); Filament::setTenant(null, true); $response = $this->actingAs($user) ->withSession([WorkspaceContext::SESSION_KEY => (int) $workspace->getKey()]) ->get('/admin/operations') ->assertOk(); $response->assertSee('Switch workspace') ->assertSee(ChooseWorkspace::getUrl(panel: 'admin').'?choose=1', false); $panel = Filament::getCurrentOrDefaultPanel(); $navigationItems = collect($panel->getNavigationItems()); $labels = $navigationItems ->map(static fn ($item): string => $item->getLabel()) ->all(); $manageWorkspaces = $navigationItems ->first(static fn ($item): bool => $item->getLabel() === 'Manage workspaces'); expect($labels)->not->toContain('Switch workspace'); expect($labels)->toContain('Manage workspaces'); expect($labels)->not->toContain('Workspaces'); expect($manageWorkspaces)->not->toBeNull(); expect($manageWorkspaces->getUrl())->toBe(route('filament.admin.resources.workspaces.index')); });