![]() 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-theme/Test/Unit/Model/Design/Config/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Theme\Test\Unit\Model\Design\Config; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Mail\TemplateInterface; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use Magento\Theme\Api\Data\DesignConfigInterface; use Magento\Theme\Model\Data\Design\Config\Data; use Magento\Theme\Model\Design\Config\Validator; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * Unit tests for Magento\Theme\Test\Unit\Model\Design\Config\Validator. */ class ValidatorTest extends TestCase { /** * @var \Magento\Framework\Mail\TemplateInterfaceFactory|MockObject */ private $templateFactory; /** * @var TemplateInterface|MockObject */ private $template; /** * @var DesignConfigInterface|MockObject */ private $designConfig; /** * @var ObjectManager */ private $objectManager; /** * @inheritdoc */ protected function setUp(): void { $this->objectManager = new ObjectManager($this); $this->templateFactory = $this->getMockBuilder(\Magento\Framework\Mail\TemplateInterfaceFactory::class) ->disableOriginalConstructor() ->setMethods(['create']) ->getMockForAbstractClass(); $this->template = $this->getMockBuilder(TemplateInterface::class) ->disableOriginalConstructor() ->setMethods( [ 'emulateDesign', 'setForcedArea', 'loadDefault', 'getTemplateText', 'revertDesign', ] ) ->getMockForAbstractClass(); $this->templateFactory->expects($this->any())->method('create')->willReturn($this->template); $this->designConfig = $this->getMockBuilder(DesignConfigInterface::class) ->disableOriginalConstructor() ->setMethods(['getExtensionAttributes']) ->getMockForAbstractClass(); } /** * @return void * @throws LocalizedException */ public function testGetDefaultTemplateTextDefaultScope(): void { $templateId = 'email_template'; $designData = [ 'field_config' => ['field' => 'fieldValue'], 'value' => $templateId, ]; $this->templateFactory->expects($this->once())->method('create'); $this->designConfig->expects($this->any())->method('getScope')->willReturn('default'); $this->template->expects($this->once())->method('emulateDesign'); $this->template->expects($this->once())->method('setForcedArea')->with($templateId); $this->template->expects($this->once())->method('loadDefault')->with($templateId); $this->template->expects($this->once())->method('getTemplateText')->willReturn(''); $this->template->expects($this->once())->method('revertDesign'); $extensionAttributes = $this->getMockBuilder(\Magento\Theme\Api\Data\DesignConfigExtensionInterface::class) ->disableOriginalConstructor() ->setMethods(['getDesignConfigData']) ->getMockForAbstractClass(); $extensionAttributes->expects($this->any())->method('getDesignConfigData')->willReturn( [ $this->getDesignConfigData($designData), ] ); $this->designConfig->expects($this->any())->method('getExtensionAttributes')->willReturn($extensionAttributes); /** @var Validator $validator */ $validator = $this->objectManager->getObject( Validator::class, [ 'templateFactory' => $this->templateFactory, 'fields' => ['field' => 'fieldValue'], ] ); $validator->validate($this->designConfig); } /** * Returns design config data object. * * @param array $data * @return Data */ private function getDesignConfigData(array $data = []): Data { return $this->objectManager->getObject( Data::class, [ 'data' => $data, ] ); } }