Skip to content

Commit

Permalink
Delete bootstrapper combining test
Browse files Browse the repository at this point in the history
  • Loading branch information
lukinovec committed Dec 27, 2024
1 parent c6a524f commit 9a2d3bd
Showing 1 changed file with 0 additions and 39 deletions.
39 changes: 0 additions & 39 deletions tests/Bootstrappers/RootUrlBootstrapperTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,42 +70,3 @@
expect(URL::to('/'))->toBe($baseUrl);
expect(config('app.url'))->toBe($baseUrl);
});

test('root url bootstrapper can be used with url generator bootstrapper', function() {
/**
* Order matters when combining these two bootstrappers.
* Before overriding the URL generator's root URL, we need to bind TenancyUrlGenerator.
* Otherwise (when using RootUrlBootstrapper BEFORE UrlGeneratorBootstrapper),
* the original URL generator's root URL will be changed, and only after that will the TenancyUrlGenerator bound,
* ultimately making the root URL override pointless.
*/
config(['tenancy.bootstrappers' => [UrlGeneratorBootstrapper::class, RootUrlBootstrapper::class]]);

TenancyUrlGenerator::$prefixRouteNames = true;
TenancyUrlGenerator::$passTenantParameterToRoutes = true;
RootUrlBootstrapper::$rootUrlOverride = fn (Tenant $tenant, string $originalRootUrl) => $originalRootUrl . '/' . $tenant->getTenantKey();

Route::get('/home', fn () => 'home')->name('home');
Route::get('/{tenant}/home', fn () => 'tenant.home')->name('tenant.home')->middleware(InitializeTenancyByPath::class);

expect(url('/home'))->toBe('http://localhost/home');

expect(route('home'))->toBe('http://localhost/home');
expect(route('home', absolute: false))->toBe('/home');

tenancy()->initialize(Tenant::create(['id' => 'acme']));

// The url() helper should generate the full URL containing the tenant key
expect(url('/home'))->toBe('http://localhost/acme/home');

/**
* The absolute path should return the correct absolute path, containing just one tenant key,
* and the relative path should still be /home.
*
* We use string manipulation in the route() method override for this to behave correctly.
*
* @see TenancyUrlGenerator
*/
expect(route('home'))->toBe('http://localhost/acme/home');
expect(route('home', absolute: false))->toBe('/home');
});

0 comments on commit 9a2d3bd

Please sign in to comment.