/** * 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()); }