function it_updates_a_association_type(AssociationTypeInterface $associationType, AssociationTypeTranslation $translatable) { $associationType->getTranslation()->willReturn($translatable); $translatable->setLabel('Vente croisée')->shouldBeCalled(); $associationType->setCode('mycode')->shouldBeCalled(); $associationType->setLocale('fr_FR')->shouldBeCalled(); $associationType->getId()->willReturn(null); $values = ['code' => 'mycode', 'labels' => ['fr_FR' => 'Vente croisée']]; $this->update($associationType, $values, []); }
/** * @param AssociationTypeInterface $associationType * @param string $field * @param mixed $data */ protected function setData(AssociationTypeInterface $associationType, $field, $data) { if ('labels' === $field) { foreach ($data as $localeCode => $label) { $associationType->setLocale($localeCode); $translation = $associationType->getTranslation(); $translation->setLabel($label); } } else { $this->accessor->setValue($associationType, $field, $data); } }