/**
  * @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());
 }
Ejemplo n.º 2
0
 /**
  * @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;
 }
Ejemplo n.º 3
0
 /**
  * @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;
 }
Ejemplo n.º 4
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());
 }