/** * @return void */ public function testPluginExpandsCartItemWithExpectedProductData() { $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(); $changeTransfer = new CartChangeTransfer(); $itemTransfer = new ItemTransfer(); $itemTransfer->setSku(self::SKU_PRODUCT_CONCRETE); $changeTransfer->addItem($itemTransfer); $this->productCartConnectorFacade->expandItems($changeTransfer); $expandedItemTransfer = $changeTransfer->getItems()[0]; $this->assertEquals(self::SKU_PRODUCT_ABSTRACT, $expandedItemTransfer->getAbstractSku()); $this->assertEquals(self::SKU_PRODUCT_CONCRETE, $expandedItemTransfer->getSku()); $this->assertEquals($productAbstractEntity->getIdProductAbstract(), $expandedItemTransfer->getIdProductAbstract()); $this->assertEquals($productConcreteEntity->getIdProduct(), $expandedItemTransfer->getId()); }
/** * @param \Generated\Shared\Transfer\TaxSetTransfer $taxSetTransfer * * @return \Generated\Shared\Transfer\TaxSetTransfer */ public function createTaxSet(TaxSetTransfer $taxSetTransfer) { $taxSetEntity = new SpyTaxSet(); $taxSetEntity->setName($taxSetTransfer->getName()); if ($taxSetTransfer->getTaxRates()->count() !== 0) { foreach ($taxSetTransfer->getTaxRates() as $taxRateTransfer) { $taxRateEntity = $this->findOrCreateTaxRateEntity($taxRateTransfer); $taxSetEntity->addSpyTaxRate($taxRateEntity); } } $taxSetEntity->save(); $taxSetTransfer->setIdTaxSet($taxSetEntity->getIdTaxSet()); return $taxSetTransfer; }
/** * @return \Orm\Zed\Tax\Persistence\SpyTaxSet */ private function loadFixtures() { $taxRateEntity = new SpyTaxRate(); $taxRateEntity->setName(self::DUMMY_TAX_RATE1_NAME); $taxRateEntity->setRate(self::DUMMY_TAX_RATE1_PERCENTAGE); $taxRateEntity->save(); $taxSetEntity = new SpyTaxSet(); $taxSetEntity->setName(self::DUMMY_TAX_SET_NAME); $taxSetEntity->addSpyTaxRate($taxRateEntity); $taxSetEntity->save(); return $taxSetEntity; }
/** * @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()); }