private function processSnapshot($metadata) { if (false === $metadata) { return null; } /** @var AggregateRootInterface $aggregate */ $aggregate = $this->serializer->deserialize($metadata['payload'], $metadata['type'], 'json'); return new Snapshot(AggregateId::fromString($metadata['aggregate_id']), $aggregate, $metadata['version'], new \DateTimeImmutable("@" . $metadata['created_at'])); }
/** * @test * @expectedException \InvalidArgumentException */ public function itShouldFailWhenCreatingAnIdFromInvalidString() { $aggregateIdString = 'invalidUuid'; $aggregateId = AggregateId::fromString($aggregateIdString); $this->assertInstanceOf(AggregateIdInterface::class, $aggregateId); }