diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c016fc17..40fb337c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -130,7 +130,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install php-cs-fixer - run: composer global require friendsofphp/php-cs-fixer + run: composer global require friendsofphp/php-cs-fixer:3.62.0 - name: Run php-cs-fixer run: $HOME/.composer/vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php - name: Commit changes from php-cs-fixer diff --git a/.php-cs-fixer.php b/.php-cs-fixer.php index ffa9f6cd..15a75d64 100644 --- a/.php-cs-fixer.php +++ b/.php-cs-fixer.php @@ -140,5 +140,6 @@ $finder = Finder::create() return (new Config()) ->setFinder($finder) ->setRules($rules) + ->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect()) ->setRiskyAllowed(true) ->setUsingCache(true); diff --git a/src/Database/Concerns/HasPending.php b/src/Database/Concerns/HasPending.php index 4d72486f..83cf0cf2 100644 --- a/src/Database/Concerns/HasPending.php +++ b/src/Database/Concerns/HasPending.php @@ -73,14 +73,14 @@ trait HasPending } /** Try to pull a tenant from the pool of pending tenants. */ - public static function pullPendingFromPool(bool $firstOrCreate = false): ?Tenant + public static function pullPendingFromPool(bool $firstOrCreate = false, array $attributes = []): ?Tenant { if (! static::onlyPending()->exists()) { if (! $firstOrCreate) { return null; } - static::createPending(); + static::createPending($attributes); } // A pending tenant is surely available at this point @@ -89,9 +89,9 @@ trait HasPending event(new PullingPendingTenant($tenant)); - $tenant->update([ + $tenant->update(array_merge($attributes, [ 'pending_since' => null, - ]); + ])); event(new PendingTenantPulled($tenant)); diff --git a/tests/CloneActionTest.php b/tests/CloneActionTest.php index 2d27bdf1..3625266b 100644 --- a/tests/CloneActionTest.php +++ b/tests/CloneActionTest.php @@ -98,14 +98,14 @@ test('CloneRoutesAsTenant registers prefixed duplicates of universal routes corr // Universal flag is excluded from the route middleware expect(tenancy()->getRouteMiddleware($newRoutes->first())) ->toEqualCanonicalizing( - array_filter(array_merge(tenancy()->getRouteMiddleware($universalRoute), ['tenant']), - fn($middleware) => $middleware !== 'universal') + array_values(array_filter(array_merge(tenancy()->getRouteMiddleware($universalRoute), ['tenant']), + fn($middleware) => $middleware !== 'universal')) ); // Universal flag is provided statically in the route's controller, so we cannot exclude it expect(tenancy()->getRouteMiddleware($newRoutes->last())) ->toEqualCanonicalizing( - array_merge(tenancy()->getRouteMiddleware($universalRoute2), ['tenant']) + array_values(array_merge(tenancy()->getRouteMiddleware($universalRoute2), ['tenant'])) ); $tenant = Tenant::create(); @@ -236,7 +236,7 @@ test('routes with the clone flag get cloned without making the routes universal' $clonedRoute = RouteFacade::getRoutes()->getByName('tenant.' . $routeName); - expect($clonedRoute->middleware())->toEqualCanonicalizing(['tenant', $identificationMiddleware]); + expect(array_values($clonedRoute->middleware()))->toEqualCanonicalizing(['tenant', $identificationMiddleware]); // The original route is not accessible pest()->get(route($routeName))->assertServerError(); diff --git a/tests/RLS/TableManagerTest.php b/tests/RLS/TableManagerTest.php index ef1ebf68..84689a72 100644 --- a/tests/RLS/TableManagerTest.php +++ b/tests/RLS/TableManagerTest.php @@ -535,9 +535,7 @@ test('table rls manager generates relationship trees with tables related to the })->with([true, false]); test('table rls manager generates queries correctly', function() { - $sessionVariableName = config('tenancy.rls.session_variable_name'); - - expect(app(TableRLSManager::class)->generateQueries())->toEqualCanonicalizing([ + expect(array_values(app(TableRLSManager::class)->generateQueries()))->toEqualCanonicalizing([ <<