create(); [$user, $firstTenant] = createUserWithTenant($firstTenant, role: 'owner'); $tenants = collect([$firstTenant])->merge( ManagedEnvironment::factory()->count(24)->create([ 'workspace_id' => (int) $firstTenant->workspace_id, ]) ); foreach ($tenants->slice(1) as $tenant) { $user->tenants()->syncWithoutDetaching([ $tenant->getKey() => ['role' => 'owner'], ]); } $action = Action::make('test')->action(fn () => null); $enforcement = UiEnforcement::forAction($action) ->requireCapability(Capabilities::TENANT_SYNC); $membershipQueries = 0; DB::listen(function ($query) use (&$membershipQueries): void { if (str_contains($query->sql, 'managed_environment_memberships')) { $membershipQueries++; } }); expect($enforcement->bulkSelectionIsAuthorized($user, $tenants))->toBeTrue(); expect($membershipQueries)->toBe(1); });