/** * @return void */ public function testExpandItemsMustAddAbstractSkuToAllCartItems() { $changeTransfer = $this->getChangeTransfer(); $productConcreteTransfer = new ProductConcreteTransfer(); $productConcreteTransfer->setProductAbstractSku(self::ABSTRACT_SKU); $productManager = $this->getProductManager($productConcreteTransfer); $result = $productManager->expandItems($changeTransfer); $changedItemTransfer = $result->getItems()[0]; $this->assertSame($productConcreteTransfer->getProductAbstractSku(), $changedItemTransfer->getAbstractSku()); }
/** * @param array $data * * @return \Generated\Shared\Transfer\ProductAbstractTransfer|\Generated\Shared\Transfer\ProductConcreteTransfer */ protected function generateTypedProduct(array &$data) { if (empty($data[self::PRODUCT_ABSTRACT_REFERENCE])) { $product = new ProductAbstractTransfer(); } else { $product = new ProductConcreteTransfer(); $product->setProductAbstractSku($data[self::PRODUCT_ABSTRACT_REFERENCE]); } unset($data[self::PRODUCT_ABSTRACT_REFERENCE]); unset($data[self::BUNDLED_PRODUCTS_REFERENCES]); //@todo handle bundle creation return $product; }