Пример #1
0
 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']);
     }
 }
Пример #2
0
 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']);
     }
 }
Пример #3
0
 /**
  * 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;
 }
Пример #4
0
 /**
  * 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;
 }
Пример #5
0
 public function testGetAvailableTemplates()
 {
     $this->assertEquals(array('template_one', 'template_two'), $this->_model->getAvailableTemplates());
 }