/**
  * @param AttributeInterface $attribute
  * @param array              $data
  */
 protected function addLabels(AttributeInterface $attribute, $data)
 {
     foreach ($data as $key => $label) {
         if (strpos($key, 'label-') !== false) {
             $locale = str_replace('label-', '', $key);
             $translation = $attribute->getTranslation($locale);
             $translation->setLabel($label);
         }
     }
 }
 function it_throws_an_exception_if_no_groups_found($attributeGroupRepository, AttributeInterface $attribute, AttributeTranslation $translation)
 {
     $attribute->getId()->willReturn(null);
     $attribute->getAttributeType()->willReturn('pim_reference_data_simpleselect');
     $data = ['labels' => ['en_US' => 'Test1', 'fr_FR' => 'Test2'], 'group' => 'marketing', 'attributeType' => 'pim_catalog_text'];
     $attribute->setLocale('en_US')->shouldBeCalled();
     $attribute->setLocale('fr_FR')->shouldBeCalled();
     $attribute->getTranslation()->willReturn($translation);
     $translation->setLabel('Test1')->shouldBeCalled();
     $translation->setLabel('Test2')->shouldBeCalled();
     $attributeGroupRepository->findOneByIdentifier('marketing')->willReturn(null);
     $this->shouldThrow(new \InvalidArgumentException('AttributeGroup "marketing" does not exist'))->during('update', [$attribute, $data]);
 }
 /**
  * @param AttributeInterface $attribute
  * @param string             $field
  * @param mixed              $data
  *
  * @throws \InvalidArgumentException
  */
 protected function setData(AttributeInterface $attribute, $field, $data)
 {
     if ('labels' === $field) {
         foreach ($data as $localeCode => $label) {
             $attribute->setLocale($localeCode);
             $translation = $attribute->getTranslation();
             $translation->setLabel($label);
         }
     } elseif ('group' === $field) {
         $attributeGroup = $this->findAttributeGroup($data);
         if (null !== $attributeGroup) {
             $attribute->setGroup($attributeGroup);
         } else {
             throw new \InvalidArgumentException(sprintf('AttributeGroup "%s" does not exist', $data));
         }
     } else {
         $this->accessor->setValue($attribute, $field, $data);
     }
 }
 /**
  * @param AttributeInterface $attribute
  * @param array              $data
  */
 protected function setLabels(AttributeInterface $attribute, array $data)
 {
     foreach ($data as $localeCode => $label) {
         $attribute->setLocale($localeCode);
         $translation = $attribute->getTranslation();
         $translation->setLabel($label);
     }
 }
 /**
  * @param AttributeInterface $attribute
  * @param array              $data
  */
 protected function addLabels(AttributeInterface $attribute, $data)
 {
     foreach ($data['label'] as $locale => $label) {
         $translation = $attribute->getTranslation($locale);
         $translation->setLabel($label);
     }
 }