public function testCancelInvoice() { $expects = ['amount_paid' => 10, 'base_amount_paid' => 10, 'shipping_captured' => 5, 'base_shipping_captured' => 5]; $this->assertNull($this->payment->getData('amount_paid')); $this->invoiceMock->expects($this->once())->method('getGrandTotal')->willReturn($expects['amount_paid']); $this->invoiceMock->expects($this->once())->method('getBaseGrandTotal')->willReturn($expects['base_amount_paid']); $this->invoiceMock->expects($this->once())->method('getShippingAmount')->willReturn($expects['shipping_captured']); $this->invoiceMock->expects($this->once())->method('getBaseShippingAmount')->willReturn($expects['base_shipping_captured']); $this->eventManagerMock->expects($this->once())->method('dispatch')->with('sales_order_payment_cancel_invoice', ['payment' => $this->payment, 'invoice' => $this->invoiceMock]); $this->assertSame($this->payment, $this->payment->cancelInvoice($this->invoiceMock)); $this->assertEquals(-1 * $expects['amount_paid'], $this->payment->getData('amount_paid')); $this->assertEquals(-1 * $expects['base_amount_paid'], $this->payment->getData('base_amount_paid')); $this->assertEquals(-1 * $expects['shipping_captured'], $this->payment->getData('shipping_captured')); $this->assertEquals(-1 * $expects['base_shipping_captured'], $this->payment->getData('base_shipping_captured')); }
/** * {@inheritdoc} */ public function cancelInvoice($invoice) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'cancelInvoice'); if (!$pluginInfo) { return parent::cancelInvoice($invoice); } else { return $this->___callPlugins('cancelInvoice', func_get_args(), $pluginInfo); } }