Exemplo n.º 1
0
 public function testGetProductParent()
 {
     $this->typeInstance->expects($this->once())->method('getStoreFilter')->with($this->product)->willReturn(true);
     $this->product->expects($this->once())->method('getTypeInstance')->willReturn($this->typeInstance);
     $this->configurable->setData('product', $this->product);
     $this->assertEquals($this->product, $this->configurable->getProduct());
 }
Exemplo n.º 2
0
 /**
  * Set image for product without image if possible
  *
  * @param \Magento\Catalog\Model\Product $product
  * @return \Magento\ConfigurableProduct\Model\Product\Type\Configurable
  */
 public function setImageFromChildProduct(\Magento\Catalog\Model\Product $product)
 {
     if (!$product->getData('image') || $product->getData('image') === 'no_selection') {
         foreach ($this->getUsedProducts($product) as $childProduct) {
             if ($childProduct->getData('image') && $childProduct->getData('image') !== 'no_selection') {
                 $product->setImage($childProduct->getData('image'));
                 break;
             }
         }
     }
     return parent::setImageFromChildProduct($product);
 }
Exemplo n.º 3
0
 /**
  * Return array of specific to type product entities
  *
  * @param \Magento\Catalog\Model\Product $product
  * @return array
  */
 public function getIdentities(\Magento\Catalog\Model\Product $product)
 {
     $identities = parent::getIdentities($product);
     /** @var \Magento\Bundle\Model\Option $option */
     foreach ($this->getOptions($product) as $option) {
         if ($option->getSelections()) {
             /** @var \Magento\Catalog\Model\Product $selection */
             foreach ($option->getSelections() as $selection) {
                 $identities = array_merge($identities, $selection->getIdentities());
             }
         }
     }
     return $identities;
 }
 public function testCheckProductConfiguration()
 {
     $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\Product');
     $buyRequest = new \Magento\Framework\DataObject(['qty' => 5]);
     $this->_model->checkProductConfiguration($product, $buyRequest);
 }
Exemplo n.º 5
0
 /**
  * {@inheritdoc}
  */
 public function beforeSave($product)
 {
     if ($product->hasData('product_options') && !empty($product->getData('product_options'))) {
         throw new \Exception('Custom options for grouped product type are not supported');
     }
     return parent::beforeSave($product);
 }
Exemplo n.º 6
0
 /**
  * {@inheritdoc}
  */
 public function beforeSave($product)
 {
     //clear cached associated links
     $product->unsetData($this->_keyAssociatedProducts);
     if ($product->hasData('product_options') && !empty($product->getData('product_options'))) {
         throw new \Exception('Custom options for grouped product type are not supported');
     }
     return parent::beforeSave($product);
 }