shouldNotReceive('clearCache'); $workspaceCapabilities->shouldNotReceive('clearCache'); app()->instance(CapabilityResolver::class, $capabilities); app()->instance(WorkspaceCapabilityResolver::class, $workspaceCapabilities); [$user, $tenant] = createUserWithTenant(); expect(WorkspaceMembership::query() ->where('workspace_id', (int) $tenant->workspace_id) ->where('user_id', (int) $user->getKey()) ->exists())->toBeTrue() ->and(session(WorkspaceContext::SESSION_KEY))->toBe((int) $tenant->workspace_id) ->and(ProviderConnection::query()->where('tenant_id', (int) $tenant->getKey())->exists())->toBeFalse(); }); it('opt-ins provider, credential, ui-context, and cache resets only when the fixture profile asks for them', function (): void { $capabilities = \Mockery::mock(CapabilityResolver::class); $workspaceCapabilities = \Mockery::mock(WorkspaceCapabilityResolver::class); $capabilities->shouldReceive('clearCache')->once(); $workspaceCapabilities->shouldReceive('clearCache')->once(); app()->instance(CapabilityResolver::class, $capabilities); app()->instance(WorkspaceCapabilityResolver::class, $workspaceCapabilities); [$user, $tenant] = createUserWithTenant(fixtureProfile: 'heavy'); $connection = ProviderConnection::query() ->where('tenant_id', (int) $tenant->getKey()) ->where('is_default', true) ->first(); expect($connection)->not->toBeNull() ->and($connection?->credential()->exists())->toBeTrue() ->and(ProviderCredential::query()->where('provider_connection_id', (int) $connection?->getKey())->exists())->toBeTrue() ->and(Filament::getTenant()?->is($tenant))->toBeTrue(); });