Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ExceptionMessageLookupFactoryTest.php
Go to the documentation of this file.
1 <?php
8 
10 
11 class ExceptionMessageLookupFactoryTest extends \PHPUnit\Framework\TestCase
12 {
16  private $exceptionMessageFactoryPool;
17 
21  private $messageFactory;
22 
26  private $exceptionMessageLookupFactory;
27 
28  protected function setUp()
29  {
30  $this->exceptionMessageFactoryPool = $this->createPartialMock(
31  \Magento\Framework\Message\ExceptionMessageFactoryPool::class,
32  ['getMessageFactory']
33  );
34 
35  $this->messageFactory = $this->getMockBuilder(
36  \Magento\Framework\Message\Factory::class
37  )
38  ->disableOriginalConstructor()
39  ->getMock();
40 
41  $this->exceptionMessageLookupFactory = new \Magento\Framework\Message\ExceptionMessageLookupFactory(
42  $this->exceptionMessageFactoryPool
43  );
44  }
45 
46  public function testCreateMessage()
47  {
48  $exceptionMessage = 'exception message';
49  $exception = new \Exception($exceptionMessage);
50 
51  $exceptionMessageFactory = $this->createMock(
52  \Magento\Framework\Message\ExceptionMessageFactoryInterface::class
53  );
54 
55  $this->exceptionMessageFactoryPool->expects(
56  $this->once()
57  )->method(
58  'getMessageFactory'
59  )->with(
60  $exception
61  )->will(
62  $this->returnValue($exceptionMessageFactory)
63  );
64 
65  $messageError = $this->getMockBuilder(
66  \Magento\Framework\Message\Error::class
67  )->getMock();
68 
69  $this->messageFactory->expects($this->never())
70  ->method('create');
71 
72  $exceptionMessageFactory->expects($this->once())
73  ->method('createMessage')
74  ->with($exception, MessageInterface::TYPE_ERROR)
75  ->will($this->returnValue($messageError));
76 
77  $this->assertEquals($messageError, $this->exceptionMessageLookupFactory->createMessage($exception));
78  }
79 }