/**
  * @dataProvider saveTranslationsDataProvider
  *
  * @param array $translations
  * @param string|null $key
  * @param string|null $value
  */
 public function testSaveTranslations(array $translations, $key = null, $value = null)
 {
     if ($translations) {
         $this->assertTranslationRepositoryCalled($key, $value);
         $this->assertTranslationServicesCalled();
     } else {
         $this->repository->expects($this->never())->method($this->anything());
         $this->translationCache->expects($this->never())->method($this->anything());
     }
     $this->helper->saveTranslations($translations);
 }
Example #2
0
 /**
  * @param array $data
  * @param string $className
  * @param string $fieldName
  */
 protected function setEnumData(array $data, $className, $fieldName)
 {
     $provider = $this->configManager->getProvider('enum');
     if (!$provider) {
         return;
     }
     $enumCode = $provider->getConfig($className, $fieldName)->get('enum_code');
     if (!$enumCode || !isset($data['enum_options'])) {
         return;
     }
     $enumValueClassName = ExtendHelper::buildEnumValueClassName($enumCode);
     $enumOptions = array_map(function ($option) {
         if (!isset($option['id'])) {
             $option['id'] = $option['label'];
         }
         return $option;
     }, $data['enum_options']);
     if ($provider->hasConfig($enumValueClassName)) {
         $this->enumSynchronizer->applyEnumOptions($enumValueClassName, $enumOptions, $this->translationHelper->getLocale());
     }
 }