/**
  * @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));
 }