Example #1
0
 public function testDisallowModifyData()
 {
     $data = ['some data'];
     $this->productMock->expects(static::any())->method('getTypeId')->willReturn(ConfigurableType::TYPE_CODE);
     $this->allowedProductTypesMock->expects(static::once())->method('isAllowedProductType')->with($this->productMock)->willReturn(false);
     $this->productMock->expects(static::never())->method('getId');
     $this->associatedProductsMock->expects(static::never())->method('getProductMatrix');
     $this->associatedProductsMock->expects(static::never())->method('getProductAttributesIds');
     $this->associatedProductsMock->expects(static::never())->method('getProductAttributesCodes');
     $this->assertSame($data, $this->createCompositeModifier()->modifyData($data));
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public function modifyData(array $data)
 {
     /** @var \Magento\Catalog\Api\Data\ProductInterface $model */
     $model = $this->locator->getProduct();
     $productTypeId = $model->getTypeId();
     if ($this->allowedProductTypes->isAllowedProductType($this->locator->getProduct())) {
         $productId = $model->getId();
         $data[$productId]['affect_configurable_product_attributes'] = '1';
         if ($productTypeId === ConfigurableType::TYPE_CODE) {
             $data[$productId]['configurable-matrix'] = $this->associatedProducts->getProductMatrix();
             $data[$productId]['attributes'] = $this->associatedProducts->getProductAttributesIds();
             $data[$productId]['attribute_codes'] = $this->associatedProducts->getProductAttributesCodes();
             $data[$productId]['product']['configurable_attributes_data'] = $this->associatedProducts->getConfigurableAttributesData();
         }
     }
     return $data;
 }