/** * @group ProductCategory * * @return void */ public function testCreateAttributeTypeCreatesAndReturnsId() { $abstractSku = 'AnAbstractTestProduct'; $concreteSku = 'ATestProduct'; $categoryName = 'ATestCategory'; $localeName = 'ABCDE'; $abstractName = 'abstractName'; $categoryKey = '100TEST'; $locale = $this->localeFacade->createLocale($localeName); $productAbstractTransfer = new ProductAbstractTransfer(); $productAbstractTransfer->setSku($abstractSku); $productAbstractTransfer->setAttributes([]); $localizedAttributes = new LocalizedAttributesTransfer(); $localizedAttributes->setAttributes([]); $localizedAttributes->setLocale($locale); $localizedAttributes->setName($abstractName); $productAbstractTransfer->addLocalizedAttributes($localizedAttributes); $idProductAbstract = $this->productFacade->createProductAbstract($productAbstractTransfer); $productConcreteTransfer = new ProductConcreteTransfer(); $productConcreteTransfer->setSku($concreteSku); $productConcreteTransfer->setAttributes([]); $productConcreteTransfer->addLocalizedAttributes($localizedAttributes); $productConcreteTransfer->setIsActive(true); $this->productFacade->createProductConcrete($productConcreteTransfer, $idProductAbstract); $categoryTransfer = new CategoryTransfer(); $categoryTransfer->setName($categoryName); $categoryTransfer->setCategoryKey($categoryKey); $idCategory = $this->categoryFacade->createCategory($categoryTransfer, $locale); $categoryNodeTransfer = new NodeTransfer(); $categoryNodeTransfer->setFkCategory($idCategory); $categoryNodeTransfer->setIsRoot(true); $this->categoryFacade->createCategoryNode($categoryNodeTransfer, $locale, false); $this->productCategoryFacade->createProductCategoryMapping($abstractSku, $categoryName, $locale); $this->assertTrue($this->productCategoryFacade->hasProductCategoryMapping($abstractSku, $categoryName, $locale)); }
/** * @group Product * * @return void */ public function testGetProductConcrete() { $localeName = Store::getInstance()->getCurrentLocale(); $localeTransfer = $this->localeFacade->getLocale($localeName); $taxRateEntity = new SpyTaxRate(); $taxRateEntity->setRate(self::TAX_RATE_PERCENTAGE)->setName(self::TAX_RATE_NAME); $taxSetEntity = new SpyTaxSet(); $taxSetEntity->addSpyTaxRate($taxRateEntity)->setName(self::TAX_SET_NAME); $productAbstractEntity = new SpyProductAbstract(); $productAbstractEntity->setSpyTaxSet($taxSetEntity)->setAttributes('')->setSku(self::SKU_PRODUCT_ABSTRACT); $localizedAttributesEntity = new SpyProductLocalizedAttributes(); $localizedAttributesEntity->setName(self::PRODUCT_CONCRETE_NAME)->setAttributes('')->setFkLocale($localeTransfer->getIdLocale()); $productConcreteEntity = new SpyProduct(); $productConcreteEntity->setSpyProductAbstract($productAbstractEntity)->setAttributes('')->addSpyProductLocalizedAttributes($localizedAttributesEntity)->setSku(self::SKU_PRODUCT_CONCRETE)->save(); $productConcreteTransfer = $this->productFacade->getProductConcrete($productConcreteEntity->getSku()); $this->assertEquals(self::PRODUCT_CONCRETE_NAME, $productConcreteTransfer->getName()); $this->assertEquals(self::SKU_PRODUCT_CONCRETE, $productConcreteTransfer->getSku()); $this->assertEquals(self::SKU_PRODUCT_ABSTRACT, $productConcreteTransfer->getProductAbstractSku()); $this->assertEquals($productConcreteEntity->getIdProduct(), $productConcreteTransfer->getIdProductConcrete()); $this->assertEquals($productAbstractEntity->getIdProductAbstract(), $productConcreteTransfer->getIdProductAbstract()); }