/** * @param Attribute $attribute * @return array */ public function getLabels(Attribute $attribute) { $result = []; foreach ($attribute->getLabels() as $label) { $localeId = $label->getLocale() ? $label->getLocale()->getId() : null; $fallback = $label->getFallback(); if ($fallback) { $result[$localeId] = new FallbackType($fallback); } else { $result[$localeId] = $label->getValue(); } } return $result; }
/** * @param array|null $view * @param Attribute|null $model * @param Attribute|null $attribute * @dataProvider reverseTransformDataProvider */ public function testReverseTransform($view, $model, Attribute $attribute = null) { if (!$attribute) { $attribute = new Attribute(); } $transformer = new AttributeTransformer($this->managerRegistry, $this->typeRegistry, $attribute); $actualModel = $transformer->reverseTransform($view); if ($model && $actualModel) { // collections should be compared without keys influence $model->resetLabels($model->getLabels()->toArray()); $model->resetProperties($model->getProperties()->toArray()); $model->resetDefaultValues($model->getDefaultValues()->toArray()); $model->resetOptions($model->getOptions()->toArray()); $actualModel->resetLabels($actualModel->getLabels()->toArray()); $actualModel->resetProperties($actualModel->getProperties()->toArray()); $actualModel->resetDefaultValues($actualModel->getDefaultValues()->toArray()); $actualModel->resetOptions($actualModel->getOptions()->toArray()); } $this->assertEquals($model, $actualModel); }