/**
  * Bind products
  *
  * @param GroupInterface $group
  * @param array          $appendProducts
  * @param array          $removeProducts
  */
 protected function bindProducts(GroupInterface $group, array $appendProducts, array $removeProducts)
 {
     foreach ($appendProducts as $product) {
         $group->addProduct($product);
     }
     foreach ($removeProducts as $product) {
         $group->removeProduct($product);
     }
 }
Ejemplo n.º 2
0
 function it_is_not_attribute_removable_with_group_containing_attribute(AttributeInterface $attribute, GroupInterface $group, GroupTypeInterface $groupType, ArrayCollection $groupAttributes)
 {
     $groupType->isVariant()->willReturn(true);
     $groupAttributes->contains($attribute)->willReturn(true);
     $group->getType()->willReturn($groupType);
     $group->getAxisAttributes()->willReturn($groupAttributes);
     $group->addProduct($this)->willReturn($this);
     $this->addGroup($group);
     $this->isAttributeRemovable($attribute)->shouldReturn(false);
 }
 /**
  * {@inheritdoc}
  */
 protected function doPerform(ProductInterface $product)
 {
     if (null === $product->getVariantGroup()) {
         $this->group->addProduct($product);
     }
 }