From 614344af5202445a976f9a60a79972a60b6a9f3d Mon Sep 17 00:00:00 2001 From: lukinovec Date: Mon, 29 Jun 2026 13:03:00 +0200 Subject: [PATCH] Add test for reverting the bound broadcaster when tenancy ends The original BroadcastingTest file had a very similar test that was removed during a refactor. Added it back and improved it (used the testing broadcaster instead of NullBroadcaster, improved the test's name comments) --- .../BroadcastingConfigBootstrapperTest.php | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/Bootstrappers/BroadcastingConfigBootstrapperTest.php b/tests/Bootstrappers/BroadcastingConfigBootstrapperTest.php index b2074248..77f153cf 100644 --- a/tests/Bootstrappers/BroadcastingConfigBootstrapperTest.php +++ b/tests/Bootstrappers/BroadcastingConfigBootstrapperTest.php @@ -64,6 +64,29 @@ test('BroadcastingConfigBootstrapper binds TenancyBroadcastManager to BroadcastM ->not()->toBeInstanceOf(TenancyBroadcastManager::class); }); +test('ending tenancy reverts the bound broadcaster to the original instance', function() { + config([ + 'tenancy.bootstrappers' => [BroadcastingConfigBootstrapper::class], + 'broadcasting.default' => 'testing', + 'broadcasting.connections.testing.driver' => 'testing', + ]); + TenancyBroadcastManager::$tenantBroadcasters = ['testing']; + + app(BroadcastManager::class)->extend('testing', fn ($app, $config) => new TestingBroadcaster('testing', $config)); + + $originalBroadcaster = app(BroadcasterContract::class); + + tenancy()->initialize(Tenant::create()); + + // BroadcastingConfigBootstrapper binds a freshly resolved broadcaster + expect(app(BroadcasterContract::class))->not()->toBe($originalBroadcaster); + + tenancy()->end(); + + // Ending tenancy reverts the binding back to the original broadcaster instance + expect($originalBroadcaster)->toBe(app(BroadcasterContract::class)); +}); + test('BroadcastingConfigBootstrapper maps tenant properties to broadcaster credentials correctly', function(string $driver) { config([ 'broadcasting.default' => $driver,