/** * @test */ public function it_delegates_body_and_properties_creation_to_the_respective_injected_factories() { $domainMessage = new DomainMessage('06d0906d-e235-40d2-b9f3-1fa6aebc9e00', 1, new Metadata(), new DummyEvent('06d0906d-e235-40d2-b9f3-1fa6aebc9e00', 'foo'), DateTime::now()); $body = '{"foo":"bar"}'; $properties = ['deliver_mode' => 2]; $expectedAMQPMessage = new AMQPMessage($body, $properties); $this->bodyFactory->expects($this->once())->method('createBody')->with($domainMessage)->willReturn($body); $this->propertiesFactory->expects($this->once())->method('createProperties')->with($domainMessage)->willReturn($properties); $actualAMQPMessage = $this->messageFactory->createAMQPMessage($domainMessage); $this->assertEquals($expectedAMQPMessage, $actualAMQPMessage); }
/** * @param DomainMessage $domainMessage * @return AMQPMessage */ public function createAMQPMessage(DomainMessage $domainMessage) { return new AMQPMessage($this->bodyFactory->createBody($domainMessage), $this->propertiesFactory->createProperties($domainMessage)); }