count(25)->create(); [$user] = createUserWithTenant($tenants->first(), role: 'owner'); 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, 'tenant_memberships')) { $membershipQueries++; } }); expect($enforcement->bulkSelectionIsAuthorized($user, $tenants))->toBeTrue(); expect($membershipQueries)->toBe(1); });