1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 11:14:04 +00:00

Give universal flag highest priority (#27)

* Give universal flag the highest priority (wip)

* Stop forgetting tenant parameter when route-level path ID is used

* Fix PHPStan errors

* Simplify annotation

* Fix comment

* Correct annotations

* Improve requestHasTenant comment

* Make cloning logic only clone universal routes, delete the universal flag from the new (tenant) route

* Delete APP_DEBUG

* make if condition easier to read

* Update DealsWithRouteContexts.php

* Fix test

* Fix code style (php-cs-fixer)

* Move tests

* Delete incorrectly committed file

* Cloning routes update wip

* Route cloning rework WIP

* Add todo to clone routes

* Fix code style (php-cs-fixer)

* Route cloning fix WIP

* Set CloneRoutesAsTenant::$tenantMiddleware to ID MW

* Revert CloneRoutesAsTenant::$tenantMiddleware-related changes

* Simplify requestHasTenant

* Add and test 'ckone' flag

* Delete setting $skippedRoutes from CloneRoutesAsTenant

* Fix code style (php-cs-fixer)

* make config key used for testing distinct from normal tenancy config keys

* Update src/Actions/CloneRoutesAsTenant.php

* Move 'path identification types' dataset to CloneActionTest

---------

Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
Co-authored-by: Samuel Štancl <samuel@archte.ch>
Co-authored-by: PHP CS Fixer <phpcsfixer@example.com>
This commit is contained in:
lukinovec 2024-01-25 15:27:17 +01:00 committed by GitHub
parent 070828a81e
commit c312156c18
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 315 additions and 296 deletions

View file

@ -430,18 +430,6 @@ test('route level identification is prioritized over kernel identification', fun
'default to central routes' => RouteMode::CENTRAL,
]);
test('routes with path identification middleware can get prefixed using the clone action', function() {
$tenantKey = Tenant::create()->getTenantKey();
RouteFacade::get('/home', fn () => tenant()?->getTenantKey())->name('home')->middleware(InitializeTenancyByPath::class);
pest()->get("http://localhost/$tenantKey/home")->assertNotFound();
app(CloneRoutesAsTenant::class)->handle();
pest()->get("http://localhost/$tenantKey/home")->assertOk();
});
function assertTenancyInitializedInEarlyIdentificationRequest(bool $expect = true): void
{
expect(app()->make('additionalMiddlewareRunsInTenantContext'))->toBe($expect); // Assert that middleware added in the controller constructor runs in tenant context