Example #1
0
 /**
  * {@inheritdoc}
  */
 public function wrap(Identifies $aggregateId, DomainEvents $domainEvents)
 {
     $lookupKey = $aggregateId->toString();
     if (!isset($this->aggregateVersions[$lookupKey])) {
         $this->aggregateVersions[$lookupKey] = -1;
     }
     $envelopeClass = $this->eventEnvelopeClass;
     $envelopes = [];
     /** @var DomainEvent $event */
     foreach ($domainEvents as $event) {
         $aggregateVersion = ++$this->aggregateVersions[$lookupKey];
         /** @noinspection PhpUndefinedMethodInspection */
         $envelopes[] = $envelopeClass::envelop($this->eventIdFactory->generate(), $this->eventNameResolver->resolveEventName($event), $event, $aggregateId, $aggregateVersion, Timestamp::now(), new Metadata([]));
     }
     return new EventStream($aggregateId, $envelopes);
 }
Example #2
0
 /**
  * @param Identifies $id
  * @return \PHPUnit_Framework_MockObject_MockObject
  */
 public function getEventStreamEventThree(Identifies $id)
 {
     $key = $id->toString();
     if (!isset($this->eventStreamEventThree[$key])) {
         $this->eventStreamEventThree[$key] = $this->mockEvent();
     }
     return $this->eventStreamEventThree[$key];
 }