/**
  * @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));
 }
Beispiel #2
0
 /**
  * @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());
 }