From 7db486d1b989713a2d2c0858dbe18a837a31cb18 Mon Sep 17 00:00:00 2001 From: lukinovec Date: Wed, 15 Apr 2026 11:12:59 +0200 Subject: [PATCH] Extract cleanup in broadcasting config test file --- .../BroadcastingConfigBootstrapperTest.php | 72 +++++++------------ 1 file changed, 27 insertions(+), 45 deletions(-) diff --git a/tests/Bootstrappers/BroadcastingConfigBootstrapperTest.php b/tests/Bootstrappers/BroadcastingConfigBootstrapperTest.php index 8e58e579..2ba49a6f 100644 --- a/tests/Bootstrappers/BroadcastingConfigBootstrapperTest.php +++ b/tests/Bootstrappers/BroadcastingConfigBootstrapperTest.php @@ -13,56 +13,38 @@ use Stancl\Tenancy\Bootstrappers\BroadcastingConfigBootstrapper; use Illuminate\Support\Facades\Broadcast; use Illuminate\Contracts\Broadcasting\Broadcaster as BroadcasterContract; -beforeEach(function () { +$cleanup = function () { + BroadcastingConfigBootstrapper::$broadcaster = null; + BroadcastingConfigBootstrapper::$credentialsMap = []; + BroadcastingConfigBootstrapper::$mapPresets = [ + 'pusher' => [ + 'broadcasting.connections.pusher.key' => 'pusher_key', + 'broadcasting.connections.pusher.secret' => 'pusher_secret', + 'broadcasting.connections.pusher.app_id' => 'pusher_app_id', + 'broadcasting.connections.pusher.options.cluster' => 'pusher_cluster', + ], + 'reverb' => [ + 'broadcasting.connections.reverb.key' => 'reverb_key', + 'broadcasting.connections.reverb.secret' => 'reverb_secret', + 'broadcasting.connections.reverb.app_id' => 'reverb_app_id', + 'broadcasting.connections.reverb.options.cluster' => 'reverb_cluster', + ], + 'ably' => [ + 'broadcasting.connections.ably.key' => 'ably_key', + 'broadcasting.connections.ably.public' => 'ably_public', + ], + ]; + TenancyBroadcastManager::$tenantBroadcasters = ['pusher', 'ably', 'reverb']; +}; + +beforeEach(function () use ($cleanup) { Event::listen(TenancyInitialized::class, BootstrapTenancy::class); Event::listen(TenancyEnded::class, RevertToCentralContext::class); - BroadcastingConfigBootstrapper::$broadcaster = null; - BroadcastingConfigBootstrapper::$credentialsMap = []; - BroadcastingConfigBootstrapper::$mapPresets = [ - 'pusher' => [ - 'broadcasting.connections.pusher.key' => 'pusher_key', - 'broadcasting.connections.pusher.secret' => 'pusher_secret', - 'broadcasting.connections.pusher.app_id' => 'pusher_app_id', - 'broadcasting.connections.pusher.options.cluster' => 'pusher_cluster', - ], - 'reverb' => [ - 'broadcasting.connections.reverb.key' => 'reverb_key', - 'broadcasting.connections.reverb.secret' => 'reverb_secret', - 'broadcasting.connections.reverb.app_id' => 'reverb_app_id', - 'broadcasting.connections.reverb.options.cluster' => 'reverb_cluster', - ], - 'ably' => [ - 'broadcasting.connections.ably.key' => 'ably_key', - 'broadcasting.connections.ably.public' => 'ably_public', - ], - ]; - TenancyBroadcastManager::$tenantBroadcasters = ['pusher', 'ably', 'reverb']; + $cleanup(); }); -afterEach(function () { - BroadcastingConfigBootstrapper::$broadcaster = null; - BroadcastingConfigBootstrapper::$credentialsMap = []; - BroadcastingConfigBootstrapper::$mapPresets = [ - 'pusher' => [ - 'broadcasting.connections.pusher.key' => 'pusher_key', - 'broadcasting.connections.pusher.secret' => 'pusher_secret', - 'broadcasting.connections.pusher.app_id' => 'pusher_app_id', - 'broadcasting.connections.pusher.options.cluster' => 'pusher_cluster', - ], - 'reverb' => [ - 'broadcasting.connections.reverb.key' => 'reverb_key', - 'broadcasting.connections.reverb.secret' => 'reverb_secret', - 'broadcasting.connections.reverb.app_id' => 'reverb_app_id', - 'broadcasting.connections.reverb.options.cluster' => 'reverb_cluster', - ], - 'ably' => [ - 'broadcasting.connections.ably.key' => 'ably_key', - 'broadcasting.connections.ably.public' => 'ably_public', - ], - ]; - TenancyBroadcastManager::$tenantBroadcasters = ['pusher', 'ably', 'reverb']; -}); +afterEach($cleanup); test('BroadcastingConfigBootstrapper binds TenancyBroadcastManager to BroadcastManager and reverts the binding when tenancy is ended', function() { config(['tenancy.bootstrappers' => [BroadcastingConfigBootstrapper::class]]);