Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
HtmlTransactionIdObserverTest.php
Go to the documentation of this file.
1 <?php
7 
11 class HtmlTransactionIdObserverTest extends \PHPUnit\Framework\TestCase
12 {
16  protected $_model;
17 
21  protected $_observer;
22 
26  protected $_event;
27 
31  protected $paypalDataMock;
32 
33  protected function setUp()
34  {
35  $this->_event = new \Magento\Framework\DataObject();
36 
37  $this->_observer = new \Magento\Framework\Event\Observer();
38  $this->_observer->setEvent($this->_event);
39 
40  $this->paypalDataMock = $this->createPartialMock(\Magento\Paypal\Helper\Data::class, ['getHtmlTransactionId']);
41  $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
42  $this->_model = $objectManagerHelper->getObject(
43  \Magento\Paypal\Observer\HtmlTransactionIdObserver::class,
44  [
45  'paypalData' => $this->paypalDataMock,
46  ]
47  );
48  }
49 
50  public function testObserveHtmlTransactionId()
51  {
52  $observerMock = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
53  ->setMethods(['getDataObject'])
54  ->disableOriginalConstructor()
55  ->getMock();
56  $transactionMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Payment\Transaction::class)
57  ->setMethods(['getOrder', 'getTxnId', 'setData'])
58  ->disableOriginalConstructor()
59  ->getMock();
60  $orderMock = $this->getMockBuilder(\Magento\Sales\Model\Order::class)
61  ->setMethods(['getPayment'])
62  ->disableOriginalConstructor()
63  ->getMock();
64  $paymentMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Payment::class)
65  ->setMethods(['getMethodInstance'])
66  ->disableOriginalConstructor()
67  ->getMock();
68  $methodInstanceMock = $this->getMockBuilder(\Magento\Payment\Model\MethodInterface::class)
69  ->setMethods(['getCode'])
70  ->getMockForAbstractClass();
71 
72  $observerMock->expects($this->once())
73  ->method('getDataObject')
74  ->willReturn($transactionMock);
75  $transactionMock->expects($this->once())
76  ->method('getOrder')
77  ->willReturn($orderMock);
78  $orderMock->expects($this->once())
79  ->method('getPayment')
80  ->willReturn($paymentMock);
81  $paymentMock->expects($this->once())
82  ->method('getMethodInstance')
83  ->willReturn($methodInstanceMock);
84  $methodInstanceMock->expects($this->once())
85  ->method('getCode')
86  ->willReturn("'test'");
87  $transactionMock->expects($this->once())
88  ->method('getTxnId')
89  ->willReturn("'test'");
90 
91  $this->paypalDataMock->expects($this->once())
92  ->method('getHtmlTransactionId')
93  ->willReturn('test');
94 
95  $transactionMock->expects($this->once())
96  ->method('setData')->with('html_txn_id', 'test');
97 
98  $this->_model->execute($observerMock);
99  }
100 }