예제 #1
0
 /**
  * @covers \Magento\Email\Block\Adminhtml\Template\Edit\Form::getVariables
  */
 public function testGetVariables()
 {
     $this->variablesMock->expects($this->once())->method('toOptionArray')->willReturn(['var1', 'var2', 'var3']);
     $this->variableFactoryMock->expects($this->once())->method('create')->willReturn($this->variableMock);
     $this->variableMock->expects($this->once())->method('getVariablesOptionArray')->willReturn(['custom var 1', 'custom var 2']);
     $this->registryMock->expects($this->once())->method('registry')->willReturn($this->templateMock);
     $this->templateMock->expects($this->once())->method('getId')->willReturn(1);
     $this->templateMock->expects($this->once())->method('getVariablesOptionArray')->willReturn(['template var 1', 'template var 2']);
     $this->assertEquals([['var1', 'var2', 'var3'], ['custom var 1', 'custom var 2'], ['template var 1', 'template var 2']], $this->form->getVariables());
 }
예제 #2
0
 public function testToOptionArrayWithGroup()
 {
     $optionArray = $this->model->toOptionArray(true);
     $this->assertEquals('Store Contact Information', $optionArray['label']->getText());
     $optionArrayValues = $optionArray['value'];
     $this->assertEquals(count($this->configVariables), count($optionArrayValues));
     $index = 0;
     foreach ($optionArrayValues as $variable) {
         $expectedValue = '{{config path="' . $this->configVariables[$index]['value'] . '"}}';
         $expectedLabel = $this->configVariables[$index]['label'];
         $this->assertEquals($expectedValue, $variable['value']);
         $this->assertEquals($expectedLabel, $variable['label']->getText());
         $index++;
     }
 }
예제 #3
0
 public function testConfigDirectiveUnavailable()
 {
     $path = "web/unsecure/base_url";
     $availableConfigs = [];
     $construction = ["{{config path={$path}}}", 'config', " path={$path}"];
     $scopeConfigValue = '';
     $storeMock = $this->getMock('Magento\\Store\\Api\\Data\\StoreInterface', [], [], '', false);
     $this->storeManager->expects($this->once())->method('getStore')->willReturn($storeMock);
     $storeMock->expects($this->once())->method('getId')->willReturn(1);
     $this->configVariables->expects($this->once())->method('getData')->willReturn($availableConfigs);
     $this->scopeConfig->expects($this->never())->method('getValue')->willReturn($scopeConfigValue);
     $this->assertEquals($scopeConfigValue, $this->getModel()->configDirective($construction));
 }
예제 #4
0
파일: Form.php 프로젝트: aiesh/magento2
 /**
  * Retrieve variables to insert into email
  *
  * @return array
  */
 public function getVariables()
 {
     $variables = array();
     $variables[] = $this->_variables->toOptionArray(true);
     $customVariables = $this->_variableFactory->create()->getVariablesOptionArray(true);
     if ($customVariables) {
         $variables[] = $customVariables;
     }
     /* @var $template \Magento\Email\Model\Template */
     $template = $this->_coreRegistry->registry('current_email_template');
     if ($template->getId() && ($templateVariables = $template->getVariablesOptionArray(true))) {
         $variables[] = $templateVariables;
     }
     return $variables;
 }
예제 #5
0
 /**
  * Check if given variable is available for directive "Config"
  *
  * @param string $variable
  * @return bool
  */
 private function isAvailableConfigVariable($variable)
 {
     return in_array($variable, array_column($this->configVariables->getData(), 'value'));
 }