/** * {@inheritdoc} */ public function addProductValue(ProductInterface $product, AttributeInterface $attribute, $locale = null, $scope = null) { $value = $this->createProductValue($attribute, $locale, $scope); $product->addValue($value); return $value; }
/** * Returns a ProductValue * * @param ProductInterface $product * @param ColumnInfoInterface $columnInfo * * @return ProductValueInterface */ protected function getProductValue(ProductInterface $product, ColumnInfoInterface $columnInfo) { $productValue = $product->getValue($columnInfo->getName(), $columnInfo->getLocale(), $columnInfo->getScope()); if (null === $productValue) { $attribute = $columnInfo->getAttribute(); $locale = $columnInfo->getLocale(); $scope = $columnInfo->getScope(); $productValue = $this->productBuilder->createProductValue($attribute, $locale, $scope); $product->addValue($productValue); } return $productValue; }
function it_adds_product_value(ProductInterface $product, AttributeInterface $size) { $size->isLocalizable()->willReturn(false); $size->isScopable()->willReturn(false); $product->addValue(Argument::any())->shouldBeCalled(); $this->addProductValue($product, $size); }