/** * @return void */ public function testExecuteShouldSetOrderReferenceIfResponseContainsOne() { $checkoutResponseTransfer = new CheckoutResponseTransfer(); $saveOrderTransfer = new SaveOrderTransfer(); $saveOrderTransfer->setOrderReference(self::ORDER_REFERENCE); $checkoutResponseTransfer->setSaveOrder($saveOrderTransfer); $checkoutClientMock = $this->getCheckoutClientMock(); $checkoutClientMock->method('placeOrder')->willReturn($checkoutResponseTransfer); $abstractPlaceOrderStepMock = $this->getAbstractPlaceOrderStep($checkoutClientMock); $quoteTransfer = new QuoteTransfer(); $abstractPlaceOrderStepMock->execute($this->getRequest(), $quoteTransfer); $this->assertSame(self::ORDER_REFERENCE, $quoteTransfer->getOrderReference()); }
/** * Test the saveOrderPayment() method of PayolutionFacade * * @return void */ public function testSaveOrderPayment() { $this->markTestSkipped('Payolution request is too slow'); $this->setBaseTestData(); $addressTransfer = (new AddressTransfer())->setCity('Berlin')->setZipCode('10623')->setAddress1('Straße des 17. Juni 135')->setFirstName('Jane')->setLastName('Doe')->setEmail('*****@*****.**')->setIso2Code('DE')->setSalutation(SpyCustomerTableMap::COL_SALUTATION_MR); $payolutionPaymentTransfer = new PayolutionPaymentTransfer(); $payolutionPaymentTransfer->setAccountBrand(ApiConstants::BRAND_INVOICE)->setClientIp('127.0.0.1')->setDateOfBirth('1970-01-02')->setGender(SpyCustomerTableMap::COL_GENDER_MALE)->setAddress($addressTransfer)->setAccountBrand(ApiConstants::BRAND_INVOICE)->setLanguageIso2Code('DE')->setCurrencyIso3Code('EUR')->setEmail($addressTransfer->getEmail()); // PayolutionCheckoutConnector-HydrateOrderPlugin emulation $quoteTransfer = new QuoteTransfer(); $paymentTransfer = new PaymentTransfer(); $paymentTransfer->setPayolution($payolutionPaymentTransfer); $quoteTransfer->setPayment($paymentTransfer); $checkoutResponseTransfer = new CheckoutResponseTransfer(); $saveOrderTransfer = new SaveOrderTransfer(); $saveOrderTransfer->setIdSalesOrder($this->orderEntity->getIdSalesOrder()); $checkoutResponseTransfer->setSaveOrder($saveOrderTransfer); $facade = $this->payolutionFacade; $facade->saveOrderPayment($quoteTransfer, $checkoutResponseTransfer); $paymentEntity = $this->orderEntity->getSpyPaymentPayolutions()->getFirst(); $this->assertInstanceOf(SpyPaymentPayolution::class, $paymentEntity); $this->assertEquals(ApiConstants::BRAND_INVOICE, $paymentEntity->getAccountBrand()); $this->assertEquals('127.0.0.1', $paymentEntity->getClientIp()); }
/** * @return \Generated\Shared\Transfer\CheckoutResponseTransfer */ private function getCheckoutResponseTransfer() { $checkoutResponseTransfer = new CheckoutResponseTransfer(); $checkoutResponseTransfer->setIsSuccess(true); $saveOrderTransfer = new SaveOrderTransfer(); $saveOrderTransfer->setIdSalesOrder(23); $checkoutResponseTransfer->setSaveOrder($saveOrderTransfer); return $checkoutResponseTransfer; }
/** * @param \Generated\Shared\Transfer\SaveOrderTransfer $saveOrderTransfer * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * * @return void */ protected function hydrateSaveOrderTransfer(SaveOrderTransfer $saveOrderTransfer, QuoteTransfer $quoteTransfer) { foreach ($quoteTransfer->getItems() as $itemTransfer) { $saveOrderTransfer->addOrderItem(clone $itemTransfer); } }
/** * @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); }