47 $this->_helperMock = $this->createMock(\
Magento\GoogleOptimizer\Helper\Data::class);
48 $this->_codeMock = $this->createMock(\
Magento\GoogleOptimizer\Model\Code::class);
49 $this->_requestMock = $this->createMock(\
Magento\Framework\
App\RequestInterface::class);
51 $this->_pageMock = $this->createMock(\
Magento\Cms\Model\Page::class);
52 $event = $this->createPartialMock(\
Magento\Framework\Event::class, [
'getObject']);
53 $event->expects($this->once())->method(
'getObject')->will($this->returnValue($this->_pageMock));
54 $this->_eventObserverMock = $this->createMock(\
Magento\Framework\Event\Observer::class);
55 $this->_eventObserverMock->expects($this->once())->method(
'getEvent')->will($this->returnValue($event));
57 $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
58 $this->_modelObserver = $objectManagerHelper->getObject(
59 \
Magento\GoogleOptimizer\Observer\
CmsPage\SaveGoogleExperimentScriptObserver::class,
60 [
'helper' => $this->_helperMock,
'modelCode' => $this->_codeMock,
'request' => $this->_requestMock]
67 $experimentScript =
'some string';
69 $this->_pageMock->expects($this->once())->method(
'getId')->will($this->returnValue($pageId));
70 $this->_helperMock->expects($this->once())->method(
'isGoogleExperimentActive')->will($this->returnValue(
true));
72 $this->_requestMock->expects(
79 $this->returnValue([
'code_id' =>
'',
'experiment_script' => $experimentScript])
82 $this->_codeMock->expects(
88 'entity_type' => \
Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PAGE,
89 'entity_id' => $pageId,
91 'experiment_script' => $experimentScript,
94 $this->_codeMock->expects($this->once())->method(
'save');
96 $this->_modelObserver->execute($this->_eventObserverMock);
105 $this->_helperMock->expects($this->once())->method(
'isGoogleExperimentActive')->will($this->returnValue(
true));
107 $this->_requestMock->expects(
117 $this->_modelObserver->execute($this->_eventObserverMock);
131 [[
'experiment_script' =>
'']]];
137 $experimentScript =
'some string';
140 $this->_pageMock->expects($this->once())->method(
'getId')->will($this->returnValue($pageId));
141 $this->_helperMock->expects($this->once())->method(
'isGoogleExperimentActive')->will($this->returnValue(
true));
143 $this->_requestMock->expects(
150 $this->returnValue([
'code_id' => $codeId,
'experiment_script' => $experimentScript])
153 $this->_codeMock->expects($this->once())->method(
'load')->with($codeId);
154 $this->_codeMock->expects($this->once())->method(
'getId')->will($this->returnValue($codeId));
156 $this->_codeMock->expects(
162 'entity_type' => \
Magento\GoogleOptimizer\Model\Code::ENTITY_TYPE_PAGE,
163 'entity_id' => $pageId,
164 'store_id' => $this->_storeId,
165 'experiment_script' => $experimentScript,
168 $this->_codeMock->expects($this->once())->method(
'save');
170 $this->_modelObserver->execute($this->_eventObserverMock);
179 $experimentScript =
'some string';
182 $this->_helperMock->expects($this->once())->method(
'isGoogleExperimentActive')->will($this->returnValue(
true));
184 $this->_requestMock->expects(
191 $this->returnValue([
'code_id' => $codeId,
'experiment_script' => $experimentScript])
194 $this->_codeMock->expects($this->once())->method(
'load')->with($codeId);
195 $this->_codeMock->expects($this->atLeastOnce())->method(
'getId')->will($this->returnValue(
false));
196 $this->_codeMock->expects($this->never())->method(
'save');
198 $this->_modelObserver->execute($this->_eventObserverMock);
205 $this->_helperMock->expects(
208 'isGoogleExperimentActive' 212 $this->returnValue(
true)
215 $this->_requestMock->expects(
222 $this->returnValue([
'code_id' => $codeId,
'experiment_script' =>
''])
225 $this->_codeMock->expects($this->once())->method(
'load')->with($codeId);
226 $this->_codeMock->expects($this->once())->method(
'getId')->will($this->returnValue($codeId));
228 $this->_codeMock->expects($this->never())->method(
'save');
229 $this->_codeMock->expects($this->once())->method(
'delete');
231 $this->_modelObserver->execute($this->_eventObserverMock);
236 $this->_helperMock->expects(
239 'isGoogleExperimentActive' 243 $this->returnValue(
false)
245 $this->_codeMock->expects($this->never())->method(
'load');
246 $this->_codeMock->expects($this->never())->method(
'save');
247 $this->_codeMock->expects($this->never())->method(
'delete');
249 $this->_modelObserver->execute($this->_eventObserverMock);
testCreatingCodeIfRequestIsNotValid($params)
testManagingCodeIfGoogleExperimentIsDisabled()
dataProviderWrongRequestForCreating()
testEditingCodeIfCodeModelIsNotFound()
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
testCreatingCodeIfRequestIsValid()
testEditingCodeIfRequestIsValid()