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] ]; } }