/** * @magentoDataFixture Magento/Email/Model/_files/email_template.php */ public function testValidateNoRecursiveReference() { $fieldConfig = ['path' => 'design/email/footer_template', 'fieldset' => 'other_settings/email', 'field' => 'email_footer_template']; $designConfigMock = $this->getMockBuilder('Magento\\Theme\\Api\\Data\\DesignConfigInterface')->disableOriginalConstructor()->setMethods([])->getMock(); $designConfigExtensionMock = $this->getMockBuilder('Magento\\Theme\\Api\\Data\\DesignConfigExtensionInterface')->disableOriginalConstructor()->setMethods([])->getMock(); $designElementMock = $this->getMockBuilder('Magento\\Theme\\Model\\Data\\Design\\Config\\Data')->disableOriginalConstructor()->setMethods([])->getMock(); $designConfigMock->expects($this->once())->method('getExtensionAttributes')->willReturn($designConfigExtensionMock); $designConfigExtensionMock->expects($this->once())->method('getDesignConfigData')->willReturn([$designElementMock]); $designElementMock->expects($this->any())->method('getFieldConfig')->willReturn($fieldConfig); $designElementMock->expects($this->once())->method('getPath')->willReturn($fieldConfig['path']); $designElementMock->expects($this->once())->method('getValue')->willReturn(1); $this->model->validate($designConfigMock); }
public function testValidateNoRecursiveReference() { $fieldConfig = ['path' => 'no/reference', 'fieldset' => 'no/reference', 'field' => 'no_reference']; $designConfigMock = $this->getMockBuilder(\Magento\Theme\Api\Data\DesignConfigInterface::class)->getMock(); $designConfigExtensionMock = $this->getMockBuilder(\Magento\Theme\Api\Data\DesignConfigExtensionInterface::class)->setMethods(['getDesignConfigData'])->getMock(); $designElementMock = $this->getMockBuilder(\Magento\Theme\Model\Data\Design\Config\Data::class)->disableOriginalConstructor()->getMock(); $designConfigMock->expects($this->once())->method('getExtensionAttributes')->willReturn($designConfigExtensionMock); $designConfigExtensionMock->expects($this->once())->method('getDesignConfigData')->willReturn([$designElementMock]); $designElementMock->expects($this->any())->method('getFieldConfig')->willReturn($fieldConfig); $designElementMock->expects($this->once())->method('getPath')->willReturn($fieldConfig['path']); $designElementMock->expects($this->once())->method('getValue')->willReturn($fieldConfig['field']); $templateMock = $this->getMockBuilder(\Magento\Email\Model\TemplateInterface::class)->setMethods(['getTemplateText', 'emulateDesign', 'loadDefault', 'revertDesign'])->getMock(); $this->templateFactoryMock->expects($this->once())->method('create')->willReturn($templateMock); $templateMock->expects($this->once())->method('getTemplateText')->willReturn(file_get_contents(__DIR__ . '/_files/template_fixture.html')); $this->model->validate($designConfigMock); }