/** * {@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); }
/** * @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]; }