ExceptionMessageLookupFactoryTest.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Message\Test\Unit;
  7. use Magento\Framework\Message\MessageInterface;
  8. class ExceptionMessageLookupFactoryTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Framework\Message\ExceptionMessageFactoryPool | \PHPUnit_Framework_MockObject_MockObject
  12. */
  13. private $exceptionMessageFactoryPool;
  14. /**
  15. * @var \Magento\Framework\Message\Factory|\PHPUnit_Framework_MockObject_MockObject
  16. */
  17. private $messageFactory;
  18. /**
  19. * @var \Magento\Framework\Message\ExceptionMessageLookupFactory
  20. */
  21. private $exceptionMessageLookupFactory;
  22. protected function setUp()
  23. {
  24. $this->exceptionMessageFactoryPool = $this->createPartialMock(
  25. \Magento\Framework\Message\ExceptionMessageFactoryPool::class,
  26. ['getMessageFactory']
  27. );
  28. $this->messageFactory = $this->getMockBuilder(
  29. \Magento\Framework\Message\Factory::class
  30. )
  31. ->disableOriginalConstructor()
  32. ->getMock();
  33. $this->exceptionMessageLookupFactory = new \Magento\Framework\Message\ExceptionMessageLookupFactory(
  34. $this->exceptionMessageFactoryPool
  35. );
  36. }
  37. public function testCreateMessage()
  38. {
  39. $exceptionMessage = 'exception message';
  40. $exception = new \Exception($exceptionMessage);
  41. $exceptionMessageFactory = $this->createMock(
  42. \Magento\Framework\Message\ExceptionMessageFactoryInterface::class
  43. );
  44. $this->exceptionMessageFactoryPool->expects(
  45. $this->once()
  46. )->method(
  47. 'getMessageFactory'
  48. )->with(
  49. $exception
  50. )->will(
  51. $this->returnValue($exceptionMessageFactory)
  52. );
  53. $messageError = $this->getMockBuilder(
  54. \Magento\Framework\Message\Error::class
  55. )->getMock();
  56. $this->messageFactory->expects($this->never())
  57. ->method('create');
  58. $exceptionMessageFactory->expects($this->once())
  59. ->method('createMessage')
  60. ->with($exception, MessageInterface::TYPE_ERROR)
  61. ->will($this->returnValue($messageError));
  62. $this->assertEquals($messageError, $this->exceptionMessageLookupFactory->createMessage($exception));
  63. }
  64. }