PaymentAdapterTest.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Test\Unit\Model\Order;
  7. /**
  8. * Unit test for payment adapter.
  9. */
  10. class PaymentAdapterTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var \Magento\Sales\Model\Order\PaymentAdapter
  14. */
  15. private $subject;
  16. /**
  17. * @var \Magento\Sales\Api\Data\OrderInterface|\PHPUnit_Framework_MockObject_MockObject
  18. */
  19. private $orderMock;
  20. /**
  21. * @var \Magento\Sales\Api\Data\CreditmemoInterface|\PHPUnit_Framework_MockObject_MockObject
  22. */
  23. private $creditmemoMock;
  24. /**
  25. * @var \Magento\Sales\Api\Data\InvoiceInterface|\PHPUnit_Framework_MockObject_MockObject
  26. */
  27. private $invoiceMock;
  28. /**
  29. * @var \Magento\Sales\Model\Order\Invoice\PayOperation|\PHPUnit_Framework_MockObject_MockObject
  30. */
  31. private $payOperationMock;
  32. protected function setUp()
  33. {
  34. $this->orderMock = $this->getMockBuilder(\Magento\Sales\Api\Data\OrderInterface::class)
  35. ->disableOriginalConstructor()
  36. ->getMockForAbstractClass();
  37. $this->creditmemoMock = $this->getMockBuilder(\Magento\Sales\Api\Data\CreditmemoInterface::class)
  38. ->disableOriginalConstructor()
  39. ->getMockForAbstractClass();
  40. $this->invoiceMock = $this->getMockBuilder(\Magento\Sales\Api\Data\InvoiceInterface::class)
  41. ->disableOriginalConstructor()
  42. ->getMockForAbstractClass();
  43. $this->payOperationMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Invoice\PayOperation::class)
  44. ->disableOriginalConstructor()
  45. ->getMock();
  46. $this->subject = new \Magento\Sales\Model\Order\PaymentAdapter(
  47. $this->payOperationMock
  48. );
  49. }
  50. public function testPay()
  51. {
  52. $isOnline = true;
  53. $this->payOperationMock->expects($this->once())
  54. ->method('execute')
  55. ->with($this->orderMock, $this->invoiceMock, $isOnline)
  56. ->willReturn($this->orderMock);
  57. $this->assertEquals(
  58. $this->orderMock,
  59. $this->subject->pay(
  60. $this->orderMock,
  61. $this->invoiceMock,
  62. $isOnline
  63. )
  64. );
  65. }
  66. }