function it_throws_an_exception_if_no_groups_found($attrGroupRepo, 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();
     $attrGroupRepo->findOneByIdentifier('marketing')->willReturn(null);
     $this->shouldThrow(new \InvalidArgumentException('AttributeGroup "marketing" does not exist'))->during('update', [$attribute, $data]);
 }
 function it_gets_all_product_attributes_and_sets_correct_locale($attributeRepository, $massActionManager, AttributeInterface $attr1, AttributeInterface $attr2, AttributeGroupInterface $attrGroup, LocaleInterface $enLocale)
 {
     $enLocale->getCode()->willReturn('en_US');
     $this->setLocale($enLocale);
     $attributeRepository->findWithGroups([], ['conditions' => ['unique' => 0]])->shouldBeCalled()->willReturn([$attr1, $attr2]);
     $attr1->setLocale('en_US')->shouldBeCalled();
     $attr2->setLocale('en_US')->shouldBeCalled();
     $attr1->getGroup()->willReturn($attrGroup);
     $attr2->getGroup()->willReturn($attrGroup);
     $massActionManager->filterLocaleSpecificAttributes([$attr1, $attr2], 'en_US')->willReturn([$attr1, $attr2]);
     $attrGroup->setLocale('en_US')->shouldBeCalledTimes(2);
     $this->getAllAttributes()->shouldReturn([$attr1, $attr2]);
 }
 /**
  * @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);
     }
 }