![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-google-optimizer/Test/Unit/Helper/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\GoogleOptimizer\Test\Unit\Helper; use Magento\Framework\App\Helper\Context; use Magento\Framework\Data\Form\Element\Fieldset; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use Magento\GoogleOptimizer\Helper\Form; use Magento\GoogleOptimizer\Model\Code; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class FormTest extends TestCase { /** * @var Form */ protected $_helper; /** * @var MockObject */ protected $_formMock; /** * @var MockObject */ protected $_fieldsetMock; /** * @var MockObject */ protected $_experimentCodeMock; /** * @inheritdoc */ protected function setUp(): void { $this->_formMock = $this->getMockBuilder(\Magento\Framework\Data\Form::class) ->addMethods(['setFieldNameSuffix']) ->onlyMethods(['addFieldset']) ->disableOriginalConstructor() ->getMock(); $this->_fieldsetMock = $this->createMock(Fieldset::class); $this->_experimentCodeMock = $this->getMockBuilder(Code::class) ->addMethods(['getExperimentScript', 'getCodeId']) ->disableOriginalConstructor() ->getMock(); $context = $this->createMock(Context::class); $data = ['context' => $context]; $objectManagerHelper = new ObjectManager($this); $this->_helper = $objectManagerHelper->getObject(Form::class, $data); } /** * @return void */ public function testAddFieldsWithExperimentCode(): void { $experimentCode = 'some-code'; $experimentCodeId = 'code-id'; $this->_experimentCodeMock->expects( $this->once() )->method( 'getExperimentScript' )->willReturn( $experimentCode ); $this->_experimentCodeMock->expects( $this->once() )->method( 'getCodeId' )->willReturn( $experimentCodeId ); $this->_prepareFormMock($experimentCode, $experimentCodeId); $this->_helper->addGoogleoptimizerFields($this->_formMock, $this->_experimentCodeMock); } /** * @return void */ public function testAddFieldsWithoutExperimentCode(): void { $experimentCode = ''; $experimentCodeId = ''; $this->_prepareFormMock($experimentCode, $experimentCodeId); $this->_helper->addGoogleoptimizerFields($this->_formMock); } /** * @param string|array $experimentCode * @param string $experimentCodeId * * @return void */ protected function _prepareFormMock($experimentCode, $experimentCodeId): void { $this->_formMock->expects( $this->once() )->method( 'addFieldset' )->with( 'googleoptimizer_fields', ['legend' => 'Google Analytics Content Experiments Code'] )->willReturn( $this->_fieldsetMock ); $this->_fieldsetMock ->method('addField') ->withConsecutive( [ 'experiment_script', 'textarea', [ 'name' => 'experiment_script', 'label' => 'Experiment Code', 'value' => $experimentCode, 'class' => 'textarea googleoptimizer', 'required' => false, 'note' => 'Experiment code should be added to the original page only.', 'data-form-part' => ''] ], [ 'code_id', 'hidden', [ 'name' => 'code_id', 'value' => $experimentCodeId, 'required' => false, 'data-form-part' => '' ] ] ); $this->_formMock->expects($this->once())->method('setFieldNameSuffix')->with('google_experiment'); } }