123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- *
- */
- namespace Magento\GoogleOptimizer\Test\Unit\Helper;
- /**
- * Class DataTest
- * @SuppressWarnings(PHPMD.LongVariable)
- */
- class DataTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- protected $_scopeConfigMock;
- /**
- * @var \PHPUnit_Framework_MockObject_MockObject
- */
- protected $_googleAnalyticsHelperMock;
- /**
- * @var \Magento\GoogleOptimizer\Helper\Data
- */
- protected $_helper;
- protected function setUp()
- {
- $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
- $className = \Magento\GoogleOptimizer\Helper\Data::class;
- $arguments = $objectManagerHelper->getConstructArguments($className);
- /** @var \Magento\Framework\App\Helper\Context $context */
- $context = $arguments['context'];
- $this->_scopeConfigMock = $context->getScopeConfig();
- $this->_googleAnalyticsHelperMock = $arguments['analyticsHelper'];
- $this->_helper = $objectManagerHelper->getObject($className, $arguments);
- }
- /**
- * @param bool $isExperimentsEnabled
- * @dataProvider dataProviderBoolValues
- */
- public function testGoogleExperimentIsEnabled($isExperimentsEnabled)
- {
- $store = 1;
- $this->_scopeConfigMock->expects(
- $this->once()
- )->method(
- 'isSetFlag'
- )->with(
- \Magento\GoogleOptimizer\Helper\Data::XML_PATH_ENABLED,
- \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
- $store
- )->will(
- $this->returnValue($isExperimentsEnabled)
- );
- $this->assertEquals($isExperimentsEnabled, $this->_helper->isGoogleExperimentEnabled($store));
- }
- /**
- * @return array
- */
- public function dataProviderBoolValues()
- {
- return [[true], [false]];
- }
- /**
- * @param bool $isExperimentsEnabled
- * @param bool $isAnalyticsAvailable
- * @param bool $result
- * @dataProvider dataProviderForTestGoogleExperimentIsActive
- */
- public function testGoogleExperimentIsActive($isExperimentsEnabled, $isAnalyticsAvailable, $result)
- {
- $store = 1;
- $this->_scopeConfigMock->expects(
- $this->once()
- )->method(
- 'isSetFlag'
- )->with(
- \Magento\GoogleOptimizer\Helper\Data::XML_PATH_ENABLED,
- \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
- $store
- )->will(
- $this->returnValue($isExperimentsEnabled)
- );
- $this->_googleAnalyticsHelperMock->expects(
- $this->any()
- )->method(
- 'isGoogleAnalyticsAvailable'
- )->with(
- $store
- )->will(
- $this->returnValue($isAnalyticsAvailable)
- );
- $this->assertEquals($result, $this->_helper->isGoogleExperimentActive($store));
- }
- /**
- * @return array
- */
- public function dataProviderForTestGoogleExperimentIsActive()
- {
- return [
- [true, true, true],
- [false, true, false],
- [false, false, false],
- [true, false, false]
- ];
- }
- }
|