AddDirtyRulesNoticeTest.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\CatalogRule\Test\Unit\Observer;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  8. /**
  9. * Class AddDirtyRulesNoticeTest
  10. */
  11. class AddDirtyRulesNoticeTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var \Magento\CatalogRule\Observer\AddDirtyRulesNotice
  15. */
  16. private $observer;
  17. /**
  18. * @var \Magento\Framework\Message\ManagerInterface|\PHPUnit_Framework_MockObject_MockObject
  19. */
  20. private $messageManagerMock;
  21. protected function setUp()
  22. {
  23. $this->messageManagerMock = $this->getMockBuilder(\Magento\Framework\Message\ManagerInterface::class)
  24. ->disableOriginalConstructor()
  25. ->getMockForAbstractClass();
  26. $objectManagerHelper = new ObjectManager($this);
  27. $this->observer = $objectManagerHelper->getObject(
  28. \Magento\CatalogRule\Observer\AddDirtyRulesNotice::class,
  29. [
  30. 'messageManager' => $this->messageManagerMock,
  31. ]
  32. );
  33. }
  34. public function testExecute()
  35. {
  36. $message = "test";
  37. $flagMock = $this->getMockBuilder(\Magento\CatalogRule\Model\Flag::class)
  38. ->setMethods(['getState'])
  39. ->disableOriginalConstructor()
  40. ->getMock();
  41. $eventObserverMock = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
  42. ->disableOriginalConstructor()
  43. ->getMock();
  44. $eventObserverMock->expects($this->at(0))->method('getData')->with('dirty_rules')->willReturn($flagMock);
  45. $flagMock->expects($this->once())->method('getState')->willReturn(1);
  46. $eventObserverMock->expects($this->at(1))->method('getData')->with('message')->willReturn($message);
  47. $this->messageManagerMock->expects($this->once())->method('addNoticeMessage')->with($message);
  48. $this->observer->execute($eventObserverMock);
  49. }
  50. }