/** * @test * @expectedException Prooph\ServiceBus\Exception\RuntimeException */ public function it_throws_exception_if_message_was_not_handled() { $this->queryBus->getActionEventEmitter()->attachListener(MessageBus::EVENT_INITIALIZE, function (ActionEvent $e) { $e->setParam(MessageBus::EVENT_PARAM_MESSAGE_HANDLER, new \stdClass()); }); $promise = $this->queryBus->dispatch('throw it'); $promise->done(); }
/** * @test */ public function it_can_deactive_an_action_event_listener_aggregate() { $handler = new Finder(); $this->queryBus->getActionEventEmitter()->attachListener(MessageBus::EVENT_ROUTE, function (ActionEvent $e) use($handler) { if ($e->getParam(MessageBus::EVENT_PARAM_MESSAGE_NAME) === CustomMessage::class) { $e->setParam(MessageBus::EVENT_PARAM_MESSAGE_HANDLER, $handler); } }); $plugin = new FinderInvokeStrategy(); $this->queryBus->utilize($plugin); $this->queryBus->deactivate($plugin); $customMessage = new CustomMessage("foo"); $promise = $this->queryBus->dispatch($customMessage); $this->assertNull($handler->getLastMessage()); $this->assertInstanceOf(Promise::class, $promise); $this->assertNull($handler->getLastDeferred()); }