Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
RefundAdapterTest.php
Go to the documentation of this file.
1 <?php
7 
11 class RefundAdapterTest extends \PHPUnit\Framework\TestCase
12 {
16  private $subject;
17 
21  private $orderMock;
22 
26  private $creditmemoMock;
27 
31  private $refundOperationMock;
32 
36  private $invoiceMock;
37 
38  protected function setUp()
39  {
40  $this->orderMock = $this->getMockBuilder(\Magento\Sales\Api\Data\OrderInterface::class)
41  ->disableOriginalConstructor()
42  ->getMockForAbstractClass();
43 
44  $this->creditmemoMock = $this->getMockBuilder(\Magento\Sales\Api\Data\CreditmemoInterface::class)
45  ->disableOriginalConstructor()
46  ->getMockForAbstractClass();
47 
48  $this->refundOperationMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Creditmemo\RefundOperation::class)
49  ->disableOriginalConstructor()
50  ->getMock();
51 
52  $this->invoiceMock = $this->getMockBuilder(\Magento\Sales\Api\Data\InvoiceInterface::class)
53  ->disableOriginalConstructor()
54  ->getMockForAbstractClass();
55 
56  $this->subject = new \Magento\Sales\Model\Order\RefundAdapter(
57  $this->refundOperationMock
58  );
59  }
60 
61  public function testRefund()
62  {
63  $isOnline = true;
64  $this->refundOperationMock->expects($this->once())
65  ->method('execute')
66  ->with($this->creditmemoMock, $this->orderMock, $isOnline)
67  ->willReturn($this->orderMock);
68  $this->assertEquals(
69  $this->orderMock,
70  $this->subject->refund($this->creditmemoMock, $this->orderMock, $isOnline)
71  );
72  }
73 }