public function testDenyWithoutInvoiceResultFalse() { $baseGrandTotal = null; $denyPayment = true; $this->payment->setData('transaction_id', $this->transactionId); $this->invoiceMock->expects($this->never())->method('cancel'); $this->orderMock->expects($this->any())->method('getInvoiceCollection')->willReturn([]); $this->helperMock->expects($this->once())->method('getMethodInstance')->will($this->returnValue($this->paymentMethodMock)); $this->paymentMethodMock->expects($this->once())->method('setStore')->will($this->returnSelf()); $this->paymentMethodMock->expects($this->once())->method('denyPayment')->with($this->payment)->willReturn($denyPayment); $status = 'status'; $this->mockGetDefaultStatus(Order::STATE_PROCESSING, $status); $this->assertOrderUpdated(Order::STATE_PROCESSING, $status, __('Denied the payment online')); $this->payment->deny(); $this->assertEquals($baseGrandTotal, $this->payment->getBaseAmountPaidOnline()); }
/** * Add payment transaction * * @param \Magento\Sales\Model\Order\Payment $payment * @param string $transactionId * @param string $transactionType * @param array $transactionDetails * @param array $transactionAdditionalInfo * @param bool $message * @return null|\Magento\Sales\Model\Order\Payment\Transaction */ protected function _addTransaction(\Magento\Sales\Model\Order\Payment $payment, $transactionId, $transactionType, array $transactionDetails = array(), array $transactionAdditionalInfo = array(), $message = false) { $payment->setTransactionId($transactionId); $payment->resetTransactionAdditionalInfo(); foreach ($transactionDetails as $key => $value) { $payment->setData($key, $value); } foreach ($transactionAdditionalInfo as $key => $value) { $payment->setTransactionAdditionalInfo($key, $value); } $transaction = $payment->addTransaction($transactionType, null, false, $message); foreach ($transactionDetails as $key => $value) { $payment->unsetData($key); } $payment->unsLastTransId(); /** * It for self using */ $transaction->setMessage($message); return $transaction; }
/** * {@inheritdoc} */ public function setData($key, $value = null) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setData'); if (!$pluginInfo) { return parent::setData($key, $value); } else { return $this->___callPlugins('setData', func_get_args(), $pluginInfo); } }