Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DeleteCmsGoogleExperimentScriptObserverTest.php
Go to the documentation of this file.
1 <?php
7 
8 class DeleteCmsGoogleExperimentScriptObserverTest extends \PHPUnit\Framework\TestCase
9 {
13  protected $_codeMock;
14 
19 
23  protected $_model;
24 
25  protected function setUp()
26  {
27  $this->_codeMock = $this->createMock(\Magento\GoogleOptimizer\Model\Code::class);
28  $this->_requestMock = $this->createMock(\Magento\Framework\App\RequestInterface::class);
29 
30  $page = $this->createMock(\Magento\Cms\Model\Page::class);
31  $page->expects($this->once())->method('getId')->will($this->returnValue(3));
32  $event = $this->createPartialMock(\Magento\Framework\Event::class, ['getObject']);
33  $event->expects($this->once())->method('getObject')->will($this->returnValue($page));
34  $this->_eventObserverMock = $this->createMock(\Magento\Framework\Event\Observer::class);
35  $this->_eventObserverMock->expects($this->once())->method('getEvent')->will($this->returnValue($event));
36 
37  $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
38  $this->_model = $objectManagerHelper->getObject(
39  \Magento\GoogleOptimizer\Observer\CmsPage\DeleteCmsGoogleExperimentScriptObserver::class,
40  ['modelCode' => $this->_codeMock]
41  );
42  }
43 
45  {
46  $entityId = 3;
47  $storeId = 0;
48 
49  $this->_codeMock->expects(
50  $this->once()
51  )->method(
52  'loadByEntityIdAndType'
53  )->with(
54  $entityId,
55  \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PAGE,
56  $storeId
57  );
58  $this->_codeMock->expects($this->once())->method('getId')->will($this->returnValue(2));
59  $this->_codeMock->expects($this->once())->method('delete');
60 
61  $this->_model->execute($this->_eventObserverMock);
62  }
63 
65  {
66  $entityId = 3;
67  $storeId = 0;
68 
69  $this->_codeMock->expects(
70  $this->once()
71  )->method(
72  'loadByEntityIdAndType'
73  )->with(
74  $entityId,
75  \Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PAGE,
76  $storeId
77  );
78  $this->_codeMock->expects($this->once())->method('getId')->will($this->returnValue(0));
79  $this->_codeMock->expects($this->never())->method('delete');
80 
81  $this->_model->execute($this->_eventObserverMock);
82  }
83 }
$page
Definition: pages.php:8