diff --git a/src/Controllers/TenantAssetsController.php b/src/Controllers/TenantAssetsController.php index 67478cf9..f8ed23e9 100644 --- a/src/Controllers/TenantAssetsController.php +++ b/src/Controllers/TenantAssetsController.php @@ -15,7 +15,7 @@ class TenantAssetsController extends Controller $this->middleware(static::$tenancyMiddleware); } - public function asset($path) + public function asset($path = null) { try { return response()->file(storage_path("app/public/$path")); diff --git a/tests/TenantAssetTest.php b/tests/TenantAssetTest.php index 77a130b4..bea35618 100644 --- a/tests/TenantAssetTest.php +++ b/tests/TenantAssetTest.php @@ -34,9 +34,11 @@ class TenantAssetTest extends TestCase { parent::setUp(); - config(['tenancy.bootstrappers' => [ - FilesystemTenancyBootstrapper::class, - ]]); + config([ + 'tenancy.bootstrappers' => [ + FilesystemTenancyBootstrapper::class, + ] + ]); Event::listen(TenancyInitialized::class, BootstrapTenancy::class); } @@ -126,4 +128,19 @@ class TenantAssetTest extends TestCase $this->assertSame($original, asset('foo')); } + + public function test_asset_controller_returns_a_404_when_no_path_is_provided() + { + TenantAssetsController::$tenancyMiddleware = InitializeTenancyByRequestData::class; + + $tenant = Tenant::create(); + + tenancy()->initialize($tenant); + $response = $this->get(tenant_asset(null), [ + 'X-Tenant' => $tenant->id, + ]); + + $response->assertNotFound(); + } + }