From cd590cd7336a66ab2160a82e86bc782154902367 Mon Sep 17 00:00:00 2001 From: Andrew Lees Date: Fri, 24 May 2024 12:26:50 +0100 Subject: [PATCH 1/2] chore: add test for service provider event registration --- tests/EventServiceProviderTest.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/EventServiceProviderTest.php b/tests/EventServiceProviderTest.php index 12286eb..5bbe925 100644 --- a/tests/EventServiceProviderTest.php +++ b/tests/EventServiceProviderTest.php @@ -128,4 +128,21 @@ public function it_can_make_sure_some_aws_credentials_are_provided_and_valid(arr $this->assertArrayHasKey('foo', $config); $this->assertArrayNotHasKey('credentials', $config); } + + /** + * @test + */ + public function it_can_register_listeners_when_array_is_populated() + { + $this->app->register(TestPubSubEventServiceProvider::class); + + $this->assertEquals(['bar'], Event::getRawListeners()['foo']); + } +} + +class TestPubSubEventServiceProvider extends EventServiceProvider +{ + protected $listen = [ + 'foo' => ['bar'], + ]; } From f697a5fd67f4b1ed47e1fe1df5fe9576925af429 Mon Sep 17 00:00:00 2001 From: Andrew Lees Date: Fri, 24 May 2024 12:31:09 +0100 Subject: [PATCH 2/2] fix: call register within event service provider --- src/EventServiceProvider.php | 2 ++ tests/EventServiceProviderTest.php | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/EventServiceProvider.php b/src/EventServiceProvider.php index 273ff63..c530b53 100644 --- a/src/EventServiceProvider.php +++ b/src/EventServiceProvider.php @@ -20,6 +20,8 @@ class EventServiceProvider extends ServiceProvider */ public function register() { + parent::register(); + $this->registerSnsBroadcaster(); $this->registerSqsSnsQueueConnector(); diff --git a/tests/EventServiceProviderTest.php b/tests/EventServiceProviderTest.php index 5bbe925..ca32fb4 100644 --- a/tests/EventServiceProviderTest.php +++ b/tests/EventServiceProviderTest.php @@ -2,6 +2,7 @@ namespace PodPoint\AwsPubSub\Tests; +use Illuminate\Support\Facades\Event; use PodPoint\AwsPubSub\EventServiceProvider; class EventServiceProviderTest extends TestCase @@ -132,11 +133,12 @@ public function it_can_make_sure_some_aws_credentials_are_provided_and_valid(arr /** * @test */ - public function it_can_register_listeners_when_array_is_populated() + public function it_can_register_listeners_when_listen_array_is_populated() { $this->app->register(TestPubSubEventServiceProvider::class); - $this->assertEquals(['bar'], Event::getRawListeners()['foo']); + $this->assertCount(1, Event::getListeners('foo')); + $this->assertCount(2, Event::getListeners('bar')); } } @@ -144,5 +146,6 @@ class TestPubSubEventServiceProvider extends EventServiceProvider { protected $listen = [ 'foo' => ['bar'], + 'bar' => ['baz', 'qux'], ]; }