/** * 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); } }
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); } }