[ FilesystemTenancyBootstrapper::class, ], 'tenancy.filesystem.suffix_base' => 'tenant-', 'tenancy.filesystem.root_override.public' => '%storage_path%/app/public/', 'tenancy.filesystem.url_override.public' => 'public-%tenant_id%' ]); /** @var Tenant $tenant */ $tenant = Tenant::create(); $tenantKey = $tenant->getTenantKey(); tenancy()->initialize($tenant); $this->assertDirectoryDoesNotExist($publicPath = public_path("public-$tenantKey")); CreateStorageSymlinksAction::handle($tenant); $this->assertDirectoryExists($publicPath); $this->assertEquals(storage_path("app/public/"), readlink($publicPath)); }); test('remove storage symlinks action works', function() { config([ 'tenancy.bootstrappers' => [ FilesystemTenancyBootstrapper::class, ], 'tenancy.filesystem.suffix_base' => 'tenant-', 'tenancy.filesystem.root_override.public' => '%storage_path%/app/public/', 'tenancy.filesystem.url_override.public' => 'public-%tenant_id%' ]); /** @var Tenant $tenant */ $tenant = Tenant::create(); $tenantKey = $tenant->getTenantKey(); tenancy()->initialize($tenant); CreateStorageSymlinksAction::handle($tenant); $this->assertDirectoryExists($publicPath = public_path("public-$tenantKey")); RemoveStorageSymlinksAction::handle($tenant); $this->assertDirectoryDoesNotExist($publicPath); });