ProophTest\ServiceBus\CommandBusTest::it_dispatches_a_message_using_the_default_process PHP Method

it_dispatches_a_message_using_the_default_process() public method

    public function it_dispatches_a_message_using_the_default_process()
    {
        $doSomething = new DoSomething(['todo' => 'buy milk']);
        $receivedMessage = null;
        $dispatchEvent = null;
        $this->commandBus->getActionEventEmitter()->attachListener(MessageBus::EVENT_ROUTE, function (ActionEvent $actionEvent) use(&$receivedMessage, &$dispatchEvent) {
            $actionEvent->setParam(MessageBus::EVENT_PARAM_MESSAGE_HANDLER, function (DoSomething $doSomething) use(&$receivedMessage) {
                $receivedMessage = $doSomething;
            });
            $dispatchEvent = $actionEvent;
        });
        $this->commandBus->dispatch($doSomething);
        $this->assertSame($doSomething, $receivedMessage);
        $this->assertTrue($dispatchEvent->getParam(MessageBus::EVENT_PARAM_MESSAGE_HANDLED));
    }