/** * @covers Governor\Framework\Domain\GenericDomainEventMessage::withMetaData */ public function testWithMetaData() { $payload = new Payload(); $seqNo = 0; $id = Uuid::uuid1(); $metaData = new MetaData(['key' => 'value']); $message = new GenericDomainEventMessage($id, $seqNo, $payload, $metaData); $message1 = $message->withMetaData(); $message2 = $message->withMetaData(['key' => 'otherValue']); $this->assertEquals(0, $message1->getMetaData()->count()); $this->assertEquals(1, $message2->getMetaData()->count()); $this->assertEquals($message->getTimestamp(), $message1->getTimestamp()); $this->assertEquals($message->getTimestamp(), $message2->getTimestamp()); $this->assertEquals($message->getIdentifier(), $message1->getIdentifier()); $this->assertEquals($message->getIdentifier(), $message2->getIdentifier()); $this->assertInstanceOf(GenericDomainEventMessage::class, $message1); $this->assertInstanceOf(GenericDomainEventMessage::class, $message2); }