public function testGetAvailableTemplates() { $templates = (require __DIR__ . '/Config/_files/email_templates_merged.php'); $themes = []; $i = 1; foreach ($templates as $templateData) { $theme = $this->getMock('\\Magento\\Framework\\View\\Design\\Theme\\ThemePackage', [], [], '', false); $theme->expects($this->any())->method('getArea')->willReturn($templateData['area']); $theme->expects($this->any())->method('getVendor')->willReturn('Vendor'); $theme->expects($this->any())->method('getName')->willReturn('custom_theme'); $theme->expects($this->any())->method('getPath')->willReturn('/theme/path'); $themes[] = $theme; $i++; } $this->themePackages->expects($this->exactly(count($templates)))->method('getThemes')->willReturn($themes); $dir = $this->getMockForAbstractClass('\\Magento\\Framework\\Filesystem\\Directory\\ReadInterface'); $this->readDirFactory->expects($this->any())->method('create')->willReturn($dir); $dir->expects($this->any())->method('isExist')->willReturn(true); $expected = ['template_one' => ['label' => 'Template One', 'module' => 'Fixture_ModuleOne'], 'template_two' => ['label' => 'Template 2', 'module' => 'Fixture_ModuleTwo'], 'template_one/Vendor/custom_theme' => ['label' => 'Template One (Vendor/custom_theme)', 'module' => 'Fixture_ModuleOne'], 'template_two/Vendor/custom_theme' => ['label' => 'Template 2 (Vendor/custom_theme)', 'module' => 'Fixture_ModuleTwo']]; $actualTemplates = $this->model->getAvailableTemplates(); $this->assertCount(count($expected), $actualTemplates); foreach ($actualTemplates as $templateOptions) { $this->assertArrayHasKey($templateOptions['value'], $expected); $expectedOptions = $expected[$templateOptions['value']]; $this->assertEquals($expectedOptions['label'], (string) $templateOptions['label']); $this->assertEquals($expectedOptions['module'], (string) $templateOptions['group']); } }
public function testGetAvailableTemplates() { $this->_model->expects($this->atLeastOnce())->method('getThemeTemplates')->will($this->returnValue([])); $expectedTemplates = (require __DIR__ . '/Config/_files/email_templates_merged.php'); foreach ($this->_model->getAvailableTemplates() as $templateOptions) { $this->assertArrayHasKey($templateOptions['value'], $expectedTemplates); $expectedOptions = $expectedTemplates[$templateOptions['value']]; $this->assertEquals($expectedOptions['label'], (string) $templateOptions['label']); $this->assertEquals($expectedOptions['module'], (string) $templateOptions['group']); } }
/** * Get default templates as options array * * @return array */ protected function _getDefaultTemplatesAsOptionsArray() { $options = array_merge([['value' => '', 'label' => '', 'group' => '']], $this->_emailConfig->getAvailableTemplates()); uasort($options, function (array $firstElement, array $secondElement) { return strcmp($firstElement['label'], $secondElement['label']); }); return $options; }
/** * Get default templates as options array * * @return array */ protected function _getDefaultTemplatesAsOptionsArray() { $options = [['value' => '', 'label' => '', 'group' => '']]; foreach ($this->_emailConfig->getAvailableTemplates() as $templateId) { $options[] = ['value' => $templateId, 'label' => $this->_emailConfig->getTemplateLabel($templateId), 'group' => $this->_emailConfig->getTemplateModule($templateId)]; } uasort($options, function (array $firstElement, array $secondElement) { return strcmp($firstElement['label'], $secondElement['label']); }); return $options; }
public function testGetAvailableTemplates() { $this->assertEquals(array('template_one', 'template_two'), $this->_model->getAvailableTemplates()); }