public onRouteMessage ( Prooph\Common\Event\ActionEvent $actionEvent ) | ||
$actionEvent | Prooph\Common\Event\ActionEvent |
/** * @test */ public function it_sets_message_producer_as_event_listener_if_target_is_an_event_bus() { $messageProducer = $this->prophesize(MessageProducer::class); $message = AsyncEvent::createEvent('test-data'); $actionEvent = new DefaultActionEvent(MessageBus::EVENT_ROUTE, new EventBus(), [MessageBus::EVENT_PARAM_MESSAGE_NAME => get_class($message), MessageBus::EVENT_PARAM_MESSAGE => $message]); $router = new AsyncSwitchMessageRouter(new EventRouter(), $messageProducer->reveal()); $router->onRouteMessage($actionEvent); $this->assertEquals($messageProducer->reveal(), $actionEvent->getParam(EventBus::EVENT_PARAM_EVENT_LISTENERS)[0]); $updatedMessage = $actionEvent->getParam(MessageBus::EVENT_PARAM_MESSAGE); $this->assertArrayHasKey('handled-async', $updatedMessage->metadata()); $this->assertTrue($updatedMessage->metadata()['handled-async']); }