Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
RefundTest.php
Go to the documentation of this file.
1 <?php
7 
11 class RefundTest extends \PHPUnit\Framework\TestCase
12 {
16  protected $refundResource;
17 
22 
27 
31  protected $priceCurrencyMock;
32 
36  protected function setUp()
37  {
38  $this->orderRepositoryMock = $this->getMockBuilder(\Magento\Sales\Api\OrderRepositoryInterface::class)
39  ->disableOriginalConstructor()
40  ->getMock();
41 
42  $this->invoiceRepositoryMock = $this->getMockBuilder(\Magento\Sales\Api\InvoiceRepositoryInterface::class)
43  ->disableOriginalConstructor()
44  ->getMock();
45 
46  $this->priceCurrencyMock = $this->getMockBuilder(\Magento\Framework\Pricing\PriceCurrencyInterface::class)
47  ->disableOriginalConstructor()
48  ->getMock();
49 
50  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
51  $this->refundResource = $objectManager->getObject(
52  \Magento\Sales\Model\ResourceModel\Order\Creditmemo\Relation\Refund::class,
53  [
54  'orderRepository' => $this->orderRepositoryMock,
55  'invoiceRepository' => $this->invoiceRepositoryMock,
56  'priceCurrency' => $this->priceCurrencyMock
57  ]
58  );
59  }
60 
61  public function testProcessRelation()
62  {
63  $paymentMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Payment::class)
64  ->disableOriginalConstructor()
65  ->getMock();
66 
67  $orderMock = $this->getMockBuilder(\Magento\Sales\Model\Order::class)
68  ->disableOriginalConstructor()
69  ->getMock();
70  $orderMock->expects($this->once())
71  ->method('getPayment')
72  ->willReturn($paymentMock);
73 
74  $creditmemoMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Creditmemo::class)
75  ->disableOriginalConstructor()
76  ->getMock();
77  $creditmemoMock->expects($this->once())
78  ->method('getState')
79  ->willReturn(\Magento\Sales\Model\Order\Creditmemo::STATE_REFUNDED);
80  $creditmemoMock->expects($this->any())
81  ->method('getOrder')
82  ->willReturn($orderMock);
83 
84  $this->orderRepositoryMock->expects($this->once())
85  ->method('save')
86  ->with($orderMock);
87 
88  $this->assertNull($this->refundResource->processRelation($creditmemoMock));
89  }
90 }
$objectManager
Definition: bootstrap.php:17