Exemple #1
0
 public function testGetRootsRecordedEvents()
 {
     $this->root->expects($this->once())->method('getRecordedEvents')->willReturn([]);
     $this->assertEquals([], $this->aggregate->getChanges());
 }
Exemple #2
0
 private function persistAggregate(Aggregate $aggregate)
 {
     if (empty($aggregate->getChanges())) {
         return;
     }
     $events = new EventCollection($aggregate->getChanges());
     $stream = $this->eventStore->openStream($aggregate->getContract(), EventStreamIdentifier::fromString($aggregate->getIdentifier()));
     foreach ($events as $event) {
         $stream->append($event);
     }
     $stream->commit();
     $this->eventEmitter->emit($events);
     $aggregate->clearChanges();
 }