diff --git a/src/Bus/Middleware/MessageBusSupportingMiddleware.php b/src/Bus/Middleware/MessageBusSupportingMiddleware.php index 7c33c73..e54e423 100644 --- a/src/Bus/Middleware/MessageBusSupportingMiddleware.php +++ b/src/Bus/Middleware/MessageBusSupportingMiddleware.php @@ -31,6 +31,17 @@ public function appendMiddleware(MessageBusMiddleware $middleware) $this->middlewares[] = $middleware; } + /** + * Returns a list of middlewares. Should only be used for introspection. + * + * @private + * @return array + */ + public function getMiddlewares() + { + return $this->middlewares; + } + /** * Prepends new middleware for this message bus. Should only be used at configuration time. * diff --git a/tests/Bus/MessageBusSupportingMiddlewareTest.php b/tests/Bus/MessageBusSupportingMiddlewareTest.php index 81ccd0a..8591e12 100644 --- a/tests/Bus/MessageBusSupportingMiddlewareTest.php +++ b/tests/Bus/MessageBusSupportingMiddlewareTest.php @@ -76,6 +76,21 @@ public function it_can_prepend_middleware() $this->assertSame($appended, $actualMessageBusesCalled[1]); } + /** + * @test + */ + public function it_can_return_an_array_with_its_middlewares() + { + $stackedMessageBuses = [ + $this->getMock('SimpleBus\Message\Bus\Middleware\MessageBusMiddleware'), + $this->getMock('SimpleBus\Message\Bus\Middleware\MessageBusMiddleware') + ]; + + $messageBusStack = new MessageBusSupportingMiddleware($stackedMessageBuses); + + $this->assertEquals($stackedMessageBuses, $messageBusStack->getMiddlewares()); + } + private function mockStackedMessageBus(&$actualMessageBusesCalled) { $messageBus = $this->getMock('SimpleBus\Message\Bus\Middleware\MessageBusMiddleware');