Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
MessageControllerTest.php
Go to the documentation of this file.
1 <?php
8 
13 class MessageControllerTest extends \PHPUnit\Framework\TestCase
14 {
18  private $lockFactory;
19 
23  private $messageController;
24 
30  protected function setUp()
31  {
32  $this->lockFactory = $this->getMockBuilder(\Magento\Framework\MessageQueue\LockInterfaceFactory::class)
33  ->disableOriginalConstructor()->setMethods(['create'])->getMock();
34 
35  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
36  $this->messageController = $objectManager->getObject(
37  \Magento\Framework\MessageQueue\MessageController::class,
38  [
39  'lockFactory' => $this->lockFactory
40  ]
41  );
42  }
43 
50  {
51  $properties = [];
52  $consumerName = '';
53  $this->expectException(\Magento\Framework\Exception\NotFoundException::class);
54  $this->expectExceptionMessage("Property 'message_id' not found in properties.");
55  $this->lockFactory->expects($this->once())->method('create');
56  $envelope = $this->getMockBuilder(\Magento\Framework\MessageQueue\EnvelopeInterface::class)
57  ->disableArgumentCloning()->getMock();
58  $envelope->expects($this->once())->method('getProperties')->willReturn($properties);
59 
60  $this->messageController->lock($envelope, $consumerName);
61  }
62 }
$objectManager
Definition: bootstrap.php:17
$properties
Definition: categories.php:26