DeleteCmsGoogleExperimentScriptObserverTest.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\GoogleOptimizer\Test\Unit\Observer\CmsPage;
  7. class DeleteCmsGoogleExperimentScriptObserverTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @var \PHPUnit_Framework_MockObject_MockObject
  11. */
  12. protected $_codeMock;
  13. /**
  14. * @var \PHPUnit_Framework_MockObject_MockObject
  15. */
  16. protected $_eventObserverMock;
  17. /**
  18. * @var \Magento\GoogleOptimizer\Observer\CmsPage\DeleteCmsGoogleExperimentScriptObserver
  19. */
  20. protected $_model;
  21. protected function setUp()
  22. {
  23. $this->_codeMock = $this->createMock(\Magento\GoogleOptimizer\Model\Code::class);
  24. $this->_requestMock = $this->createMock(\Magento\Framework\App\RequestInterface::class);
  25. $page = $this->createMock(\Magento\Cms\Model\Page::class);
  26. $page->expects($this->once())->method('getId')->will($this->returnValue(3));
  27. $event = $this->createPartialMock(\Magento\Framework\Event::class, ['getObject']);
  28. $event->expects($this->once())->method('getObject')->will($this->returnValue($page));
  29. $this->_eventObserverMock = $this->createMock(\Magento\Framework\Event\Observer::class);
  30. $this->_eventObserverMock->expects($this->once())->method('getEvent')->will($this->returnValue($event));
  31. $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  32. $this->_model = $objectManagerHelper->getObject(
  33. \Magento\GoogleOptimizer\Observer\CmsPage\DeleteCmsGoogleExperimentScriptObserver::class,
  34. ['modelCode' => $this->_codeMock]
  35. );
  36. }
  37. public function testDeleteFromPageGoogleExperimentScriptSuccess()
  38. {
  39. $entityId = 3;
  40. $storeId = 0;
  41. $this->_codeMock->expects(
  42. $this->once()
  43. )->method(
  44. 'loadByEntityIdAndType'
  45. )->with(
  46. $entityId,
  47. \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PAGE,
  48. $storeId
  49. );
  50. $this->_codeMock->expects($this->once())->method('getId')->will($this->returnValue(2));
  51. $this->_codeMock->expects($this->once())->method('delete');
  52. $this->_model->execute($this->_eventObserverMock);
  53. }
  54. public function testDeleteFromPageGoogleExperimentScriptFail()
  55. {
  56. $entityId = 3;
  57. $storeId = 0;
  58. $this->_codeMock->expects(
  59. $this->once()
  60. )->method(
  61. 'loadByEntityIdAndType'
  62. )->with(
  63. $entityId,
  64. \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PAGE,
  65. $storeId
  66. );
  67. $this->_codeMock->expects($this->once())->method('getId')->will($this->returnValue(0));
  68. $this->_codeMock->expects($this->never())->method('delete');
  69. $this->_model->execute($this->_eventObserverMock);
  70. }
  71. }