active()->create(); [$user, $environment] = createUserWithTenant(tenant: $environment, role: 'owner'); $workspace = $environment->workspace()->firstOrFail(); Filament::setTenant($environment, true); session()->put(WorkspaceContext::SESSION_KEY, (int) $workspace->getKey()); session()->put(WorkspaceContext::LAST_TENANT_IDS_SESSION_KEY, [ (string) $workspace->getKey() => (int) $environment->getKey(), ]); $url = OperationRunLinks::index(); expect($url)->not->toContain('managed_environment_id') ->and($url)->not->toContain('tenant_scope') ->and($url)->not->toContain('tableFilters'); $this->actingAs($user) ->withSession([WorkspaceContext::SESSION_KEY => (int) $workspace->getKey()]) ->get($url) ->assertOk() ->assertSee(__('localization.shell.no_environment_selected')) ->assertSee(__('localization.shell.all_environments')); }); it('Spec314 operations clean workspace entry sees runs across entitled environments', function (): void { $environmentA = ManagedEnvironment::factory()->active()->create(); [$user, $environmentA] = createUserWithTenant(tenant: $environmentA, role: 'owner'); $environmentB = ManagedEnvironment::factory()->active()->create([ 'workspace_id' => (int) $environmentA->workspace_id, ]); createUserWithTenant(tenant: $environmentB, user: $user, role: 'owner'); $runA = OperationRun::factory()->forTenant($environmentA)->create(['type' => 'policy.sync']); $runB = OperationRun::factory()->forTenant($environmentB)->create(['type' => 'inventory_sync']); $this->actingAs($user); setAdminPanelContext(); session()->put(WorkspaceContext::SESSION_KEY, (int) $environmentA->workspace_id); Livewire::test(Operations::class) ->assertCanSeeTableRecords([$runA, $runB]); }); it('Spec314 operations ignores stale persisted environment filters on clean entry', function (): void { $environmentA = ManagedEnvironment::factory()->active()->create(); [$user, $environmentA] = createUserWithTenant(tenant: $environmentA, role: 'owner'); $environmentB = ManagedEnvironment::factory()->active()->create([ 'workspace_id' => (int) $environmentA->workspace_id, ]); createUserWithTenant(tenant: $environmentB, user: $user, role: 'owner'); $runA = OperationRun::factory()->forTenant($environmentA)->create(); $runB = OperationRun::factory()->forTenant($environmentB)->create(); $this->actingAs($user); setAdminPanelContext(); session()->put(WorkspaceContext::SESSION_KEY, (int) $environmentA->workspace_id); $component = Livewire::test(Operations::class); $filtersSessionKey = $component->instance()->getTableFiltersSessionKey(); session()->put($filtersSessionKey, [ 'managed_environment_id' => ['value' => (string) $environmentA->getKey()], ]); Livewire::test(Operations::class) ->assertCanSeeTableRecords([$runA, $runB]); expect(data_get(session()->get($filtersSessionKey, []), 'managed_environment_id.value'))->toBeNull(); });