Exemple #1
0
 public function testClosureExecuteQuery()
 {
     $gate = new Gate();
     $gate->enableSystemBus();
     $gate->attach($this->bus);
     $this->bus->mapQuery('Malocher\\CqrsTest\\Coverage\\Mock\\Query\\MockQuery', function (MockQuery $query) {
         $query->edit();
     });
     $gate->getSystemBus()->mapCommand('Malocher\\Cqrs\\Command\\ExecuteQueryCommand', function (ExecuteQueryCommand $command) {
         $this->executeQueryCommand = $command;
     });
     $gate->getSystemBus()->registerEventListener('Malocher\\Cqrs\\Event\\QueryExecutedEvent', function (QueryExecutedEvent $event) {
         $this->queryExecutedEvent = $event;
     });
     $mockQuery = new MockQuery();
     $gate->getBus($this->bus->getName())->executeQuery($mockQuery);
     $this->assertEquals(true, $mockQuery->isEdited());
     $this->assertInstanceOf('Malocher\\Cqrs\\Command\\ExecuteQueryCommand', $this->executeQueryCommand);
     $this->assertInstanceOf('Malocher\\Cqrs\\Event\\QueryExecutedEvent', $this->queryExecutedEvent);
     $this->assertEquals('Malocher\\CqrsTest\\Coverage\\Mock\\Query\\MockQuery', $this->executeQueryCommand->getMessageClass());
     $this->assertEquals('Malocher\\CqrsTest\\Coverage\\Mock\\Query\\MockQuery', $this->queryExecutedEvent->getMessageClass());
 }
 /**
  * @event Malocher\Cqrs\Event\QueryExecutedEvent
  * @param QueryExecutedEvent $event
  */
 public function queryExecutedHandler(QueryExecutedEvent $event)
 {
     print "---- monitoring start -----\n";
     print sprintf("QueryExecutedEvent published by %s on %s \n", $event->getMessageClass(), $event->getBusName());
     print sprintf("id:%s, edited:%s, ts:%s, version:%s, payload:%s \n", $event->getMessageVars()['id'], $event->getMessageVars()['edited'], $event->getMessageVars()['timestamp'], $event->getMessageVars()['version'], $event->getMessageVars()['payload']);
     print "---- monitoring ends ------\n";
 }