Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PaymentAdapterTest.php
Go to the documentation of this file.
1 <?php
7 
11 class PaymentAdapterTest extends \PHPUnit\Framework\TestCase
12 {
16  private $subject;
17 
21  private $orderMock;
22 
26  private $creditmemoMock;
27 
31  private $invoiceMock;
32 
36  private $payOperationMock;
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->invoiceMock = $this->getMockBuilder(\Magento\Sales\Api\Data\InvoiceInterface::class)
49  ->disableOriginalConstructor()
50  ->getMockForAbstractClass();
51 
52  $this->payOperationMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Invoice\PayOperation::class)
53  ->disableOriginalConstructor()
54  ->getMock();
55 
56  $this->subject = new \Magento\Sales\Model\Order\PaymentAdapter(
57  $this->payOperationMock
58  );
59  }
60 
61  public function testPay()
62  {
63  $isOnline = true;
64 
65  $this->payOperationMock->expects($this->once())
66  ->method('execute')
67  ->with($this->orderMock, $this->invoiceMock, $isOnline)
68  ->willReturn($this->orderMock);
69 
70  $this->assertEquals(
71  $this->orderMock,
72  $this->subject->pay(
73  $this->orderMock,
74  $this->invoiceMock,
75  $isOnline
76  )
77  );
78  }
79 }