public function testCanCaptureAuthorizationTransaction() { $paymentId = 1; $this->payment->setId($paymentId); $this->paymentMethodMock->expects($this->once())->method('canCapture')->willReturn(true); $transaction = $this->getMock('Magento\\Sales\\Model\\Order\\Payment\\Transaction', [], [], '', false); $collection = $this->getMock('Magento\\Sales\\Model\\Resource\\Order\\Payment\\Transaction\\Collection', [], [], '', false); $this->transactionCollectionFactory->expects($this->once())->method('create')->willReturn($collection); $collection->expects($this->once())->method('setOrderFilter')->willReturnSelf(); $collection->expects($this->once())->method('addPaymentIdFilter')->willReturnSelf(); $collection->expects($this->once())->method('addTxnTypeFilter')->willReturnSelf(); $collection->method('setOrder')->willReturnMap([['created_at', \Magento\Framework\Data\Collection::SORT_ORDER_DESC, $collection], ['transaction_id', \Magento\Framework\Data\Collection::SORT_ORDER_DESC, [$transaction]]]); $this->assertTrue($this->payment->canCapture()); }
public function testRegisterRefundNotificationTransactionExists() { $amount = 10; $paymentId = 1; $orderId = 9; $this->payment->setParentTransactionId($this->transactionId); $this->payment->setId($paymentId); $this->orderMock->setId($orderId); $transaction = $this->getMock('Magento\\Sales\\Model\\ResourceModel\\Order\\Payment\\Transaction', [], [], '', false); $newTransactionId = $this->transactionId . '-' . Transaction::TYPE_REFUND; $this->transactionRepositoryMock->expects($this->once())->method('getByTransactionId')->with($this->transactionId)->willReturn($transaction); $this->transactionManagerMock->expects($this->once())->method('isTransactionExists')->with($newTransactionId, $paymentId, $orderId)->willReturn(true); $this->transactionManagerMock->expects($this->once())->method('generateTransactionId')->with($this->payment, Transaction::TYPE_REFUND, $transaction)->willReturn($newTransactionId); $this->assertSame($this->payment, $this->payment->registerRefundNotification($amount)); }
/** * @param Payment $payment * @return Payment */ public function setPayment(Payment $payment) { if (!$this->getIsMultiPayment() && ($old = $this->getPayment())) { $payment->setId($old->getId()); } $this->addPayment($payment); return $payment; }
/** * {@inheritdoc} */ public function setId($value) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setId'); if (!$pluginInfo) { return parent::setId($value); } else { return $this->___callPlugins('setId', func_get_args(), $pluginInfo); } }