Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SetResponseAfterSaveOrderObserverTest.php
Go to the documentation of this file.
1 <?php
7 
11 class SetResponseAfterSaveOrderObserverTest extends \PHPUnit\Framework\TestCase
12 {
16  protected $_model;
17 
21  protected $_observer;
22 
26  protected $_event;
27 
31  protected $coreRegistryMock;
32 
36  protected $paypalHssMock;
37 
41  protected $viewMock;
42 
43  protected function setUp()
44  {
45  $this->_event = new \Magento\Framework\DataObject();
46 
47  $this->_observer = new \Magento\Framework\Event\Observer();
48  $this->_observer->setEvent($this->_event);
49 
50  $this->coreRegistryMock = $this->createMock(\Magento\Framework\Registry::class);
51  $this->paypalHssMock = $this->createPartialMock(\Magento\Paypal\Helper\Hss::class, ['getHssMethods']);
52  $this->viewMock = $this->getMockForAbstractClass(
53  \Magento\Framework\App\ViewInterface::class,
54  [],
55  '',
56  false,
57  true,
58  true,
59  []
60  );
61  $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
62  $this->_model = $objectManagerHelper->getObject(
63  \Magento\Paypal\Observer\SetResponseAfterSaveOrderObserver::class,
64  [
65  'coreRegistry' => $this->coreRegistryMock,
66  'paypalHss' => $this->paypalHssMock,
67  'view' => $this->viewMock,
68  ]
69  );
70  }
71 
78  {
79  $iFrameHtml = 'iframe-html';
80  $paymentMethod = 'method-2';
81 
82  return [
83  'order.getId' => 10,
84  'payment.getMethod' => $paymentMethod,
85  'paypalHss.getHssMethods' => [
86  'method-1',
87  $paymentMethod,
88  'method-3'
89  ],
90  'result.getData' => [
91  'error' => false
92  ],
93  'block.toHtml' => $iFrameHtml,
94  'result.setData' => [
95  'error' => false,
96  'update_section' => [
97  'name' => 'paypaliframe',
98  'html' => $iFrameHtml
99  ],
100  'redirect' => false,
101  'success' => false,
102  ]
103  ];
104  }
105 
112  {
113  $testData = $this->getSetResponseAfterSaveOrderTestData();
114 
115  $observerMock = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
116  ->disableOriginalConstructor()
117  ->getMock();
118  $orderMock = $this->getMockBuilder(\Magento\Sales\Model\Order::class)
119  ->disableOriginalConstructor()
120  ->getMock();
121  $paymentMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Payment::class)
122  ->disableOriginalConstructor()
123  ->getMock();
124  $resultMock = $this->getMockBuilder(\Magento\Framework\DataObject::class)
125  ->disableOriginalConstructor()
126  ->getMock();
127  $layoutMock = $this->getMockBuilder(\Magento\Framework\View\LayoutInterface::class)
128  ->disableOriginalConstructor()
129  ->getMockForAbstractClass();
130  $blockMock = $this->getMockBuilder(\Magento\Framework\View\Element\BlockInterface::class)
131  ->disableOriginalConstructor()
132  ->getMockForAbstractClass();
133 
134  $this->coreRegistryMock->expects($this->once())
135  ->method('registry')
136  ->with('hss_order')
137  ->willReturn($orderMock);
138 
139  $orderMock->expects($this->once())
140  ->method('getId')
141  ->willReturn($testData['order.getId']);
142  $orderMock->expects($this->once())
143  ->method('getPayment')
144  ->willReturn($paymentMock);
145 
146  $paymentMock->expects($this->once())
147  ->method('getMethod')
148  ->willReturn($testData['payment.getMethod']);
149 
150  $this->paypalHssMock->expects($this->once())
151  ->method('getHssMethods')
152  ->willReturn($testData['paypalHss.getHssMethods']);
153 
154  $observerMock->expects($this->atLeastOnce())
155  ->method('getData')
156  ->with('result')
157  ->willReturn($resultMock);
158 
159  $resultMock->expects($this->once())
160  ->method('getData')
161  ->willReturn($testData['result.getData']);
162 
163  $this->viewMock->expects($this->once())
164  ->method('loadLayout')
165  ->with('checkout_onepage_review', true, true, false);
166  $this->viewMock->expects($this->once())
167  ->method('getLayout')
168  ->willReturn($layoutMock);
169 
170  $layoutMock->expects($this->once())
171  ->method('getBlock')
172  ->with('paypal.iframe')
173  ->willReturn($blockMock);
174 
175  $blockMock->expects($this->once())
176  ->method('toHtml')
177  ->willReturn($testData['block.toHtml']);
178 
179  $resultMock->expects($this->once())
180  ->method('setData')
181  ->with($testData['result.setData']);
182 
183  $this->_model->execute($observerMock);
184  }
185 }
return false
Definition: gallery.phtml:36