MessagesTest.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Theme\Test\Unit\CustomerData;
  7. use Magento\Framework\View\Element\Message\InterpretationStrategyInterface;
  8. use Magento\Theme\CustomerData\Messages;
  9. class MessagesTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /**
  12. * @var \Magento\Framework\Message\ManagerInterface|\PHPUnit_Framework_MockObject_MockObject
  13. */
  14. protected $messageManager;
  15. /**
  16. * @var InterpretationStrategyInterface|\PHPUnit_Framework_MockObject_MockObject
  17. */
  18. private $messageInterpretationStrategy;
  19. /**
  20. * @var Messages
  21. */
  22. protected $object;
  23. protected function setUp()
  24. {
  25. $this->messageManager = $this->getMockBuilder(\Magento\Framework\Message\ManagerInterface::class)->getMock();
  26. $this->messageInterpretationStrategy = $this->createMock(
  27. \Magento\Framework\View\Element\Message\InterpretationStrategyInterface::class
  28. );
  29. $this->object = new Messages($this->messageManager, $this->messageInterpretationStrategy);
  30. }
  31. public function testGetSectionData()
  32. {
  33. $msgType = 'error';
  34. $msgText = 'All is lost';
  35. $msg = $this->getMockBuilder(\Magento\Framework\Message\MessageInterface::class)->getMock();
  36. $messages = [$msg];
  37. $msgCollection = $this->getMockBuilder(\Magento\Framework\Message\Collection::class)
  38. ->getMock();
  39. $msg->expects($this->once())
  40. ->method('getType')
  41. ->willReturn($msgType);
  42. $this->messageInterpretationStrategy->expects(static::once())
  43. ->method('interpret')
  44. ->with($msg)
  45. ->willReturn($msgText);
  46. $this->messageManager->expects($this->once())
  47. ->method('getMessages')
  48. ->with(true, null)
  49. ->willReturn($msgCollection);
  50. $msgCollection->expects($this->once())
  51. ->method('getItems')
  52. ->willReturn($messages);
  53. $this->assertEquals(
  54. ['messages' => [['type' => $msgType, 'text' => $msgText]]],
  55. $this->object->getSectionData()
  56. );
  57. }
  58. }