Ejemplo n.º 1
0
 /**
  * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer
  * @param \Generated\Shared\Transfer\CustomerTransfer $customerTransfer
  *
  * @return void
  */
 protected function processCustomerAddress(AddressTransfer $addressTransfer, CustomerTransfer $customerTransfer)
 {
     $addressTransfer->setFkCustomer($customerTransfer->getIdCustomer());
     if ($addressTransfer->getIdCustomerAddress() === null) {
         $this->address->createAddressAndUpdateCustomerDefaultAddresses($addressTransfer);
     } else {
         $this->address->updateAddressAndCustomerDefaultAddresses($addressTransfer);
     }
 }
Ejemplo n.º 2
0
 /**
  * @return \Generated\Shared\Transfer\QuoteTransfer
  */
 private function getQuoteTransfer()
 {
     $quoteTransfer = new QuoteTransfer();
     $totalsTransfer = new TotalsTransfer();
     $totalsTransfer->setGrandTotal(10000)->setSubtotal(10000);
     $quoteTransfer->setTotals($totalsTransfer);
     $addressTransfer = new AddressTransfer();
     $addressTransfer->setFirstName('John')->setLastName('Doe')->setSalutation('Mr')->setCity('Berlin')->setIso2Code('DE')->setAddress1('Straße des 17. Juni')->setAddress2('135')->setZipCode('10623');
     $quoteTransfer->setBillingAddress($addressTransfer);
     $paymentTransfer = new PayolutionPaymentTransfer();
     $paymentTransfer->setGender('Male')->setDateOfBirth('1970-01-01')->setClientIp('127.0.0.1')->setAccountBrand(ApiConstants::BRAND_INVOICE)->setAddress($addressTransfer);
     $payment = new PaymentTransfer();
     $payment->setPayolution($paymentTransfer);
     $quoteTransfer->setPayment($payment);
     return $quoteTransfer;
 }
 /**
  * @return void
  */
 public function testSetTaxRateWhenExemptTaxRateUsedAndCountryMatchingShouldUseCountryRate()
 {
     $shipmentMethodEntity = $this->createShipmentMethodWithTaxSet(20, 'DE');
     $quoteTransfer = new QuoteTransfer();
     $addressTransfer = new AddressTransfer();
     $addressTransfer->setIso2Code('DE');
     $quoteTransfer->setShippingAddress($addressTransfer);
     $shipmentTransfer = new ShipmentTransfer();
     $shipmentMethodTransfer = new ShipmentMethodTransfer();
     $shipmentMethodTransfer->fromArray($shipmentMethodEntity->toArray(), true);
     $shipmentTransfer->setMethod($shipmentMethodTransfer);
     $quoteTransfer->setShipment($shipmentTransfer);
     $shipmentFacadeTest = $this->createShipmentFacade();
     $shipmentFacadeTest->calculateShipmentTaxRate($quoteTransfer);
     $this->assertEquals('20.00', $shipmentMethodTransfer->getTaxRate());
 }
 /**
  * @param \Orm\Zed\Invoice\Persistence\PavInvoice $invoiceEntity
  *
  * @return \Generated\Shared\Transfer\InvoiceTransfer
  */
 public function transformEntityToTransfer(PavInvoice $invoiceEntity)
 {
     $invoiceTransfer = new InvoiceTransfer();
     $invoiceTransfer->fromArray($invoiceEntity->toArray(), true);
     $invoiceType = $invoiceEntity->getInvoiceType()->getTypeName();
     $invoiceTransfer->setInvoiceType($invoiceType);
     $billingAddressTransfer = new AddressTransfer();
     $billingAddressTransfer->fromArray($invoiceEntity->getBillingAddress()->toArray(), true);
     $invoiceTransfer->setInvoiceBillingAddress($billingAddressTransfer);
     $shippingAddressTransfer = new AddressTransfer();
     $shippingAddressTransfer->fromArray($invoiceEntity->getShippingAddress()->toArray(), true);
     $invoiceTransfer->setInvoiceShippingAddress($shippingAddressTransfer);
     $this->setInvoiceItems($invoiceEntity, $invoiceTransfer);
     $this->setExpenseItems($invoiceEntity, $invoiceTransfer);
     $this->setDiscountItems($invoiceEntity, $invoiceTransfer);
     $this->setTaxItems($invoiceEntity, $invoiceTransfer);
     return $invoiceTransfer;
 }
Ejemplo n.º 5
0
 /**
  * @return void
  */
 public function testAddPaymentToQuoteShouldReturnQuoteTransfer()
 {
     $paymentHandler = new PayolutionHandler($this->getPayolutionClientMock(), CurrencyManager::getInstance());
     $request = Request::createFromGlobals();
     $quoteTransfer = new QuoteTransfer();
     $billingAddress = new AddressTransfer();
     $billingAddress->setSalutation('Mr');
     $billingAddress->setIso2Code('iso2Code');
     $quoteTransfer->setBillingAddress($billingAddress);
     $customerTransfer = new CustomerTransfer();
     $customerTransfer->setEmail('*****@*****.**');
     $quoteTransfer->setCustomer($customerTransfer);
     $paymentTransfer = new PaymentTransfer();
     $paymentTransfer->setPaymentSelection('payolutionInvoice');
     $payolutionPaymentTransfer = new PayolutionPaymentTransfer();
     $paymentTransfer->setPayolutionInvoice($payolutionPaymentTransfer);
     $quoteTransfer->setPayment($paymentTransfer);
     $result = $paymentHandler->addPaymentToQuote($request, $quoteTransfer);
     $this->assertInstanceOf(QuoteTransfer::class, $result);
 }
 /**
  * @return \Generated\Shared\Transfer\QuoteTransfer
  */
 private function getCheckoutRequestTransfer()
 {
     $itemTransfer = new ItemTransfer();
     $itemTransfer->setSku('1234567890')->setQuantity(1)->setUnitGrossPriceWithProductOptions(10000)->setName('Socken');
     $billingAddressTransfer = new AddressTransfer();
     $billingAddressTransfer->setIso2Code('DE')->setEmail('*****@*****.**')->setFirstName('John')->setLastName('Doe')->setAddress1('Straße des 17. Juni')->setAddress2('135')->setZipCode('10623')->setCity('Berlin');
     $shippingAddressTransfer = new AddressTransfer();
     $shippingAddressTransfer->setIso2Code('DE')->setEmail('*****@*****.**')->setFirstName('John')->setLastName('Doe')->setAddress1('Fraunhoferstraße')->setAddress2('120')->setZipCode('80469')->setCity('München');
     $paymentAddressTransfer = (new AddressTransfer())->setFirstName('John')->setLastName('Doe')->setSalutation('Mr')->setEmail('*****@*****.**')->setCity('Berlin')->setIso2Code('DE')->setAddress1('Straße des 17. Juni')->setAddress2('135')->setZipCode('10623');
     $payolutionPaymentTransfer = (new PayolutionPaymentTransfer())->setGender('Male')->setDateOfBirth('1970-01-01')->setClientIp('127.0.0.1')->setAccountBrand(PayolutionConstants::BRAND_INVOICE)->setAddress($paymentAddressTransfer);
     $quoteTransfer = new QuoteTransfer();
     $totalsTransfer = new TotalsTransfer();
     $totalsTransfer->setGrandTotal(10000)->setSubtotal(10000);
     $quoteTransfer->setTotals($totalsTransfer);
     $paymentTransfer = new PaymentTransfer();
     $paymentTransfer->setPaymentSelection('no_payment');
     $paymentTransfer->setPayolution($payolutionPaymentTransfer);
     $quoteTransfer->setPayment($paymentTransfer);
     $quoteTransfer->setShippingAddress($shippingAddressTransfer)->setBillingAddress($billingAddressTransfer);
     return $quoteTransfer;
 }
Ejemplo n.º 7
0
 /**
  * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer
  *
  * @return string
  */
 protected function formatAddress($addressTransfer)
 {
     return trim(sprintf('%s %s %s', $addressTransfer->getAddress1(), $addressTransfer->getAddress2(), $addressTransfer->getAddress3()));
 }
Ejemplo n.º 8
0
 /**
  * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderAddress $addressEntity
  *
  * @return void
  */
 protected function hydrateAddressEntityFromTransfer(AddressTransfer $addressTransfer, SpySalesOrderAddress $addressEntity)
 {
     $addressEntity->fromArray($addressTransfer->modifiedToArray());
 }
Ejemplo n.º 9
0
 /**
  * @return \Generated\Shared\Transfer\QuoteTransfer
  */
 protected function createQuoteTransferWithShippingAddress()
 {
     $quoteTransfer = $this->createQuoteTransfer();
     $this->createItemTransfers($quoteTransfer);
     $addressTransfer = new AddressTransfer();
     $addressTransfer->setIso2Code('AT');
     $quoteTransfer->setShippingAddress($addressTransfer);
     return $quoteTransfer;
 }
Ejemplo n.º 10
0
 /**
  * @param \Symfony\Component\HttpFoundation\Request $request
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function setDefaultBillingAddressAction(Request $request)
 {
     $addressTransfer = new AddressTransfer();
     $addressTransfer->setIdCustomerAddress($this->castId($request->query->get('address_id')));
     $addressTransfer->setFkCustomer($this->castId($request->query->get('customer_id')));
     $this->getFacade()->setDefaultBillingAddress($addressTransfer);
     return $this->redirectResponse('/customer/profile?id=' . $this->castId($request->query->get('customer_id')));
 }
Ejemplo n.º 11
0
 /**
  * @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;
 }
Ejemplo n.º 12
0
 /**
  * @param \Generated\Shared\Transfer\AddressTransfer $invoiceAddressTransfer
  *
  * @throws \Propel\Runtime\Exception\PropelException
  * @return int
  */
 protected function writeInvoiceAddress(AddressTransfer $invoiceAddressTransfer)
 {
     $invoiceAddress = $this->queryContainer->createInvoiceAddressEntity();
     $invoiceAddress->fromArray($invoiceAddressTransfer->toArray());
     $invoiceAddress->setIso2Code($invoiceAddressTransfer->getIso2Code());
     $invoiceAddress->save();
     return $invoiceAddress->getIdInvoiceAddress();
 }
Ejemplo n.º 13
0
 /**
  * @param \Orm\Zed\Customer\Persistence\SpyCustomerAddress $addressEntity
  *
  * @return \Generated\Shared\Transfer\AddressTransfer
  */
 protected function entityToTransfer(SpyCustomerAddress $addressEntity)
 {
     $addressTransfer = new AddressTransfer();
     $addressTransfer->fromArray($addressEntity->toArray(), true);
     $addressTransfer->setIso2Code($addressEntity->getCountry()->getIso2Code());
     return $addressTransfer;
 }
Ejemplo n.º 14
0
 /**
  * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer
  *
  * @return bool
  */
 protected function isValidAddressTransfer(AddressTransfer $addressTransfer)
 {
     return empty($addressTransfer->getIdCustomerAddress()) === false && $addressTransfer->getFkCustomer() !== null;
 }
Ejemplo n.º 15
0
 /**
  * @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;
 }
Ejemplo n.º 16
0
 /**
  * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer
  * @param \Orm\Zed\Customer\Persistence\SpyCustomer $customerEntity
  *
  * @return void
  */
 protected function updateCustomerDefaultAddresses(AddressTransfer $addressTransfer, SpyCustomer $customerEntity)
 {
     if ($customerEntity->getDefaultBillingAddress() === null || $addressTransfer->getIsDefaultBilling()) {
         $customerEntity->setDefaultBillingAddress($addressTransfer->getIdCustomerAddress());
     }
     if ($customerEntity->getDefaultShippingAddress() === null || $addressTransfer->getIsDefaultShipping()) {
         $customerEntity->setDefaultShippingAddress($addressTransfer->getIdCustomerAddress());
     }
     $customerEntity->save();
 }
Ejemplo n.º 17
0
 /**
  * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderAddress $salesOrderAddressEntity
  *
  * @return void
  */
 protected function hydrateSalesOrderAddress(AddressTransfer $addressTransfer, SpySalesOrderAddress $salesOrderAddressEntity)
 {
     $salesOrderAddressEntity->fromArray($addressTransfer->toArray());
     $salesOrderAddressEntity->setFkCountry($this->countryFacade->getIdCountryByIso2Code($addressTransfer->getIso2Code()));
 }
Ejemplo n.º 18
0
 /**
  * @return \Generated\Shared\Transfer\CustomerTransfer
  */
 protected function createCustomerWithAddress()
 {
     $customerTransfer = $this->createTestCustomer();
     $addressTransfer = new AddressTransfer();
     $addressTransfer->setEmail($customerTransfer->getEmail());
     $addressTransfer->setFirstName(self::TESTER_NAME);
     $addressTransfer->setLastName(self::TESTER_NAME);
     $addressTransfer->setFkCustomer($customerTransfer->getIdCustomer());
     $addressTransfer = $this->customerFacade->createAddress($addressTransfer);
     $this->assertNotNull($addressTransfer);
     return $this->getTestCustomerTransfer($customerTransfer);
 }
Ejemplo n.º 19
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
  *
  * @return void
  */
 protected function hydrateShippingAddressToOrderTransfer(SpySalesOrder $orderEntity, OrderTransfer $orderTransfer)
 {
     $shippingAddressTransfer = new AddressTransfer();
     $shippingAddressTransfer->fromArray($orderEntity->getShippingAddress()->toArray(), true);
     $shippingAddressTransfer->setIso2Code($orderEntity->getShippingAddress()->getCountry()->getIso2Code());
     $orderTransfer->setShippingAddress($shippingAddressTransfer);
 }
Ejemplo n.º 20
0
 /**
  * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer
  *
  * @return \Generated\Shared\Transfer\QuoteTransfer
  */
 private function getQuoteTransfer(CheckoutResponseTransfer $checkoutResponseTransfer)
 {
     $orderEntity = $this->createOrderEntity();
     $paymentAddressTransfer = new AddressTransfer();
     $email = '*****@*****.**';
     $paymentAddressTransfer->setIso2Code('DE')->setEmail($email)->setFirstName('John')->setLastName('Doe')->setCellPhone('+40 175 0815')->setPhone('+30 0815')->setAddress1('Straße des 17. Juni')->setAddress2('135')->setZipCode('10623')->setSalutation(SpyPaymentPayolutionTableMap::COL_SALUTATION_MR)->setCity('Berlin');
     $payolutionPaymentTransfer = new PayolutionPaymentTransfer();
     $payolutionPaymentTransfer->setEmail($email)->setGender(SpyPaymentPayolutionTableMap::COL_GENDER_MALE)->setDateOfBirth('1970-01-02')->setClientIp('127.0.0.1')->setAccountBrand(PayolutionConstants::BRAND_INVOICE)->setLanguageIso2Code('DE')->setCurrencyIso3Code('EUR')->setAddress($paymentAddressTransfer);
     $quoteTransfer = new QuoteTransfer();
     $customerTransfer = new CustomerTransfer();
     $customerTransfer->setEmail($email);
     $customerTransfer->setIsGuest(true);
     $quoteTransfer->setCustomer($customerTransfer);
     $checkoutResponseTransfer->getSaveOrder()->setIdSalesOrder($orderEntity->getIdSalesOrder());
     $paymentTransfer = new PaymentTransfer();
     $paymentTransfer->setPayolution($payolutionPaymentTransfer);
     $quoteTransfer->setPayment($paymentTransfer);
     foreach ($orderEntity->getItems() as $orderItemEntity) {
         $itemTransfer = new ItemTransfer();
         $itemTransfer->setName($orderItemEntity->getName())->setQuantity($orderItemEntity->getQuantity())->setUnitGrossPrice($orderItemEntity->getGrossPrice())->setFkSalesOrder($orderItemEntity->getFkSalesOrder())->setIdSalesOrderItem($orderItemEntity->getIdSalesOrderItem());
         $checkoutResponseTransfer->getSaveOrder()->addOrderItem($itemTransfer);
     }
     return $quoteTransfer;
 }