/** * @covers \PhpCqrs\Domain\Serializer\Serializer::serialize */ public function testCanSerializeObject() { $serializer = new Serializer(); $payload = new BookRegistered('1234', 'Title!'); $object = $serializer->serialize($payload); $this->assertInstanceOf(SerializedObject::class, $object); $this->assertSame('PhpCqrs\\Helpers\\Domain\\Event\\BookRegistered', $object->name()); $this->assertSame(['id' => '1234', 'title' => 'Title!'], $object->payload()); }
/** * @param DomainEventMessage $message * @return SerializedMessageObject */ public function serialize(DomainEventMessage $message) { $object = $this->serializer->serialize($message->payload()); return new SerializedMessageObject($message->aggregateId(), $message->sequence(), $object->name(), $object->payload(), $message->metaData()->serialize(), $message->occurredOn()->format(DATE_ISO8601)); }