/** * @covers Governor\Framework\Domain\GenericDomainEventMessage::andMetaData */ public function testAndMetaData() { $payload = new Payload(); $seqNo = 0; $id = Uuid::uuid1(); $metaData = new MetaData(['key' => 'value']); $message = new GenericDomainEventMessage($id, $seqNo, $payload, $metaData); $message1 = $message->andMetaData(); $message2 = $message->andMetaData(['key' => 'otherValue']); $this->assertEquals(1, $message1->getMetaData()->count()); $this->assertEquals('value', $message1->getMetaData()->get('key')); $this->assertEquals(1, $message2->getMetaData()->count()); $this->assertEquals('otherValue', $message2->getMetaData()->get('key')); $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); }