mirror of
https://github.com/archtechx/tenancy.git
synced 2026-09-20 13:34:04 +00:00
Add test that covers how tenant_asset() works when called in central context
Added to cover the `return storage_path('app/public')` line in TenantAssetController::assetRoot
This commit is contained in:
parent
1a693d8e36
commit
4826667ac1
1 changed files with 16 additions and 0 deletions
|
|
@ -31,6 +31,7 @@ beforeEach(function () {
|
||||||
TenancyUrlGenerator::$passTenantParameterToRoutes = true;
|
TenancyUrlGenerator::$passTenantParameterToRoutes = true;
|
||||||
TenantAssetController::$headers = [];
|
TenantAssetController::$headers = [];
|
||||||
TenantAssetController::$publicDisk = null;
|
TenantAssetController::$publicDisk = null;
|
||||||
|
InitializeTenancyByRequestData::$onFail = null;
|
||||||
|
|
||||||
/** @var CloneRoutesAsTenant $cloneAction */
|
/** @var CloneRoutesAsTenant $cloneAction */
|
||||||
$cloneAction = app(CloneRoutesAsTenant::class);
|
$cloneAction = app(CloneRoutesAsTenant::class);
|
||||||
|
|
@ -130,6 +131,21 @@ test('tenant asset controller throws when the configured disk has no root', func
|
||||||
pest()->get(tenant_asset('foo.txt'), ['X-Tenant' => $tenant->id]);
|
pest()->get(tenant_asset('foo.txt'), ['X-Tenant' => $tenant->id]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('tenant assets are served from the central storage path in central context', function () {
|
||||||
|
config(['tenancy.identification.default_middleware' => InitializeTenancyByRequestData::class]);
|
||||||
|
|
||||||
|
// Mimic the universal route setup (let the request through even though no tenant is identified)
|
||||||
|
InitializeTenancyByRequestData::$onFail = fn ($e, $request, $next) => $next($request);
|
||||||
|
|
||||||
|
$filename = 'testfile' . Str::random(8);
|
||||||
|
Storage::disk('public')->put($filename, 'bar');
|
||||||
|
|
||||||
|
$response = pest()->get(tenant_asset($filename));
|
||||||
|
|
||||||
|
$response->assertSuccessful();
|
||||||
|
expect($response->getFile()->getPathname())->toBe(storage_path("app/public/$filename"));
|
||||||
|
});
|
||||||
|
|
||||||
test('asset helper returns a link to tenant asset controller when asset url is null', function () {
|
test('asset helper returns a link to tenant asset controller when asset url is null', function () {
|
||||||
config(['app.asset_url' => null]);
|
config(['app.asset_url' => null]);
|
||||||
config(['tenancy.filesystem.asset_helper_override' => true]);
|
config(['tenancy.filesystem.asset_helper_override' => true]);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue