/** * @return void */ public function testSetTaxRateWhenExemptTaxRateUsedAndCountryMatchingShouldUseCountryRate() { $abstractProcuctEntity = $this->createAbstractProductWithTaxSet(20, 'DE'); $quoteTransfer = new QuoteTransfer(); $itemTransfer = new ItemTransfer(); $itemTransfer->setIdProductAbstract($abstractProcuctEntity->getIdProductAbstract()); $quoteTransfer->addItem($itemTransfer); $taxFacadeTest = $this->createTaxFacade(); $taxFacadeTest->calculateProductItemTaxRate($quoteTransfer); $this->assertEquals('20.00', $itemTransfer->getTaxRate()); }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ protected function createQuoteTransfer() { $quoteTransfer = new QuoteTransfer(); $itemTransfer = new ItemTransfer(); $itemTransfer->setUnitGrossPrice(100); $quoteTransfer->addItem($itemTransfer); return $quoteTransfer; }
/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * * @return void */ protected function createItemTransfers(QuoteTransfer $quoteTransfer) { $itemTransfer1 = $this->createProductItemTransfer(1); $quoteTransfer->addItem($itemTransfer1); $itemTransfer2 = $this->createProductItemTransfer(2); $quoteTransfer->addItem($itemTransfer2); }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ private function getValidBaseQuoteTransfer() { $country = new SpyCountry(); $country->setIso2Code('ix'); $country->save(); $quoteTransfer = new QuoteTransfer(); $billingAddress = new AddressTransfer(); $billingAddress->setIso2Code('ix')->setAddress1('address-1-1-test')->setFirstName('Max')->setLastName('Mustermann')->setZipCode('1337')->setCity('SpryHome'); $shippingAddress = new AddressTransfer(); $shippingAddress->setIso2Code('ix')->setAddress1('address-1-2-test')->setFirstName('Max')->setLastName('Mustermann')->setZipCode('1337')->setCity('SpryHome'); $totals = new TotalsTransfer(); $totals->setGrandTotal(1337)->setSubtotal(337); $quoteTransfer->setShippingAddress($shippingAddress)->setBillingAddress($billingAddress)->setTotals($totals); $customerTransfer = new CustomerTransfer(); $customerTransfer->setEmail('*****@*****.**'); $customerTransfer->setFirstName('Max'); $customerTransfer->setLastName('Mustermann'); $quoteTransfer->setCustomer($customerTransfer); $shipmentTransfer = new ShipmentTransfer(); $shipmentTransfer->setMethod(new ShipmentMethodTransfer()); $quoteTransfer->setShipment($shipmentTransfer); $itemTransfer = new ItemTransfer(); $itemTransfer->setUnitGrossPrice(1)->setQuantity(1)->setName('test-name')->setSku('sku-test'); $quoteTransfer->addItem($itemTransfer); $paymentTransfer = new PaymentTransfer(); $paymentTransfer->setPaymentSelection('dummyPaymentInvoice'); $quoteTransfer->setPayment($paymentTransfer); return $quoteTransfer; }
/** * @return void */ public function testDecreaseCartItem() { $this->markTestSkipped('Tried to retrieve a concrete product with sku CONCRETE1, but it does not exist'); $quoteTransfer = new QuoteTransfer(); $cartItem = new ItemTransfer(); $cartItem->setSku(self::DUMMY_1_SKU_CONCRETE_PRODUCT); $cartItem->setQuantity(3); $cartItem->setUnitGrossPrice(1); $quoteTransfer->addItem($cartItem); $newItem = new ItemTransfer(); $newItem->setSku(self::DUMMY_1_SKU_CONCRETE_PRODUCT); $newItem->setQuantity(1); $newItem->setUnitGrossPrice(1); $cartChange = new CartChangeTransfer(); $cartChange->setQuote($quoteTransfer); $cartChange->addItem($newItem); $changedCart = $this->cartFacade->decreaseQuantity($cartChange); $cartItems = $changedCart->getItems(); $this->assertCount(1, $cartItems); /** @var \Generated\Shared\Transfer\ItemTransfer $changedItem */ $changedItem = $cartItems[0]; $this->assertEquals(2, $changedItem->getQuantity()); }
/** * @return void */ public function testChangeItemQuantityMustCallAddItemQuantityWhenPassedItemQuantityIsLowerThenInCartGivenItem() { $itemTransfer = new ItemTransfer(); $itemTransfer->setQuantity(1); $itemTransfer->setSku('sku'); $quoteTransfer = new QuoteTransfer(); $quoteTransfer->addItem($itemTransfer); $sessionMock = $this->getSessionMock(); $sessionMock->expects($this->exactly(3))->method('getQuote')->will($this->returnValue($quoteTransfer)); $stubMock = $this->getStubMock(); $stubMock->expects($this->never())->method('removeItem')->will($this->returnValue($quoteTransfer)); $stubMock->expects($this->once())->method('addItem')->will($this->returnValue($quoteTransfer)); $factoryMock = $this->getFactoryMock($sessionMock, $stubMock); $cartClientMock = $this->getCartClientMock($factoryMock); $itemTransfer = new ItemTransfer(); $itemTransfer->setSku('sku'); $quoteTransfer = $cartClientMock->changeItemQuantity('sku', null, 2); $this->assertInstanceOf('Generated\\Shared\\Transfer\\QuoteTransfer', $quoteTransfer); }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ protected function createQuoteTransfer() { $quoteTransfer = new QuoteTransfer(); $itemTransfer = new ItemTransfer(); $quoteTransfer->addItem($itemTransfer); return $quoteTransfer; }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ protected function getBaseQuoteTransfer() { $quoteTransfer = new QuoteTransfer(); $country = new SpyCountry(); $country->setIso2Code('xi')->save(); $productAbstract1 = new SpyProductAbstract(); $productAbstract1->setSku('AOSB1337')->setAttributes('{}'); $productConcrete1 = new SpyProduct(); $productConcrete1->setSku('OSB1337')->setAttributes('{}')->setSpyProductAbstract($productAbstract1)->save(); $productAbstract2 = new SpyProductAbstract(); $productAbstract2->setSku('AOSB1338')->setAttributes('{}'); $productConcrete2 = new SpyProduct(); $productConcrete2->setSku('OSB1338')->setSpyProductAbstract($productAbstract2)->setAttributes('{}')->save(); $stock = new SpyStock(); $stock->setName('testStock'); $stock1 = new SpyStockProduct(); $stock1->setQuantity(1)->setStock($stock)->setSpyProduct($productConcrete1)->save(); $stock2 = new SpyStockProduct(); $stock2->setQuantity(1)->setStock($stock)->setSpyProduct($productConcrete2)->save(); $item1 = new ItemTransfer(); $item1->setSku('OSB1337')->setQuantity(1)->setUnitGrossPrice(3000)->setName('Product1'); $item2 = new ItemTransfer(); $item2->setSku('OSB1338')->setQuantity(1)->setUnitGrossPrice(4000)->setName('Product2'); $quoteTransfer->addItem($item1); $quoteTransfer->addItem($item2); $totals = new TotalsTransfer(); $totals->setGrandTotal(1000)->setSubtotal(500); $quoteTransfer->setTotals($totals); $billingAddress = new AddressTransfer(); $shippingAddress = new AddressTransfer(); $billingAddress->setIso2Code('xi')->setEmail('*****@*****.**')->setFirstName('Max')->setLastName('Mustermann')->setAddress1('Straße')->setAddress2('82')->setZipCode('12345')->setCity('Entenhausen'); $shippingAddress->setIso2Code('xi')->setFirstName('Max')->setLastName('Mustermann')->setEmail('*****@*****.**')->setAddress1('Straße')->setAddress2('84')->setZipCode('12346')->setCity('Entenhausen2'); $quoteTransfer->setBillingAddress($billingAddress); $quoteTransfer->setShippingAddress($shippingAddress); $customerTransfer = new CustomerTransfer(); $customerTransfer->setIsGuest(false)->setEmail('*****@*****.**'); $quoteTransfer->setCustomer($customerTransfer); $shipment = new ShipmentTransfer(); $shipment->setMethod(new ShipmentMethodTransfer()); $quoteTransfer->setShipment($shipment); $paymentTransfer = new PaymentTransfer(); $paymentTransfer->setPaymentSelection('no_payment'); $quoteTransfer->setPayment($paymentTransfer); return $quoteTransfer; }
/** * @return void */ public function testSaveDiscountMustNotSaveSalesDiscountCodesIfUsedCodeCanNotBeFound() { $discountSaver = $this->getDiscountOrderSaverMock(['persistSalesDiscount', 'persistSalesDiscountCode', 'getDiscountVoucherEntityByCode']); $discountSaver->expects($this->once())->method('persistSalesDiscount'); $discountSaver->expects($this->never())->method('persistSalesDiscountCode'); $discountSaver->expects($this->once())->method('getDiscountVoucherEntityByCode')->will($this->returnValue(false)); $calculatedDiscountTransfer = new CalculatedDiscountTransfer(); $calculatedDiscountTransfer->setVoucherCode(self::USED_CODE_1); $quoteTransfer = new QuoteTransfer(); $orderItemTransfer = new ItemTransfer(); $orderItemTransfer->addCalculatedDiscount($calculatedDiscountTransfer); $quoteTransfer->addItem($orderItemTransfer); $checkoutResponseTransfer = new CheckoutResponseTransfer(); $saverOrderTransfer = new SaveOrderTransfer(); $saverOrderTransfer->setIdSalesOrder(self::ID_SALES_ORDER); $saverOrderTransfer->setOrderItems($quoteTransfer->getItems()); $checkoutResponseTransfer->setSaveOrder($saverOrderTransfer); $discountSaver->saveDiscounts($quoteTransfer, $checkoutResponseTransfer); }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ protected function getQuoteTransferWithTwoItems() { $quoteTransfer = new QuoteTransfer(); $itemTransfer = new ItemTransfer(); $itemTransfer->setUnitGrossPrice(self::ITEM_GROSS_PRICE_500); $itemTransfer->setSku('sku1'); $quoteTransfer->addItem($itemTransfer); $quoteTransfer->addItem(clone $itemTransfer); return $quoteTransfer; }
/** * @return \Generated\Shared\Transfer\QuoteTransfer */ protected function createQuoteTransfer() { $quoteTransfer = new QuoteTransfer(); $itemTransfer = new ItemTransfer(); $itemTransfer->setAbstractSku('123'); $itemTransfer->setSku('123'); $itemTransfer->setUnitGrossPrice(15000); $quoteTransfer->addItem($itemTransfer); $itemTransfer = new ItemTransfer(); $itemTransfer->setAbstractSku('321'); $itemTransfer->setSku('431'); $itemTransfer->setUnitGrossPrice(1000); $quoteTransfer->addItem($itemTransfer); return $quoteTransfer; }