@@ -61,7 +61,7 @@ public function testSalesOrderBeforeSaveCantUnhold()
61
61
$ paymentMock = $ this ->getMockBuilder (
62
62
\Magento \Sales \Model \Order \Payment::class
63
63
)->disableOriginalConstructor ()->setMethods ([])->getMock ();
64
- $ order ->expects ( $ this -> once ())-> method ('getPayment ' )->will ($ this ->returnValue ($ paymentMock ));
64
+ $ order ->method ('getPayment ' )->will ($ this ->returnValue ($ paymentMock ));
65
65
$ methodInstance = $ this ->getMockBuilder (
66
66
\Magento \Payment \Model \MethodInterface::class
67
67
)->getMockForAbstractClass ();
@@ -86,7 +86,7 @@ public function testSalesOrderBeforeSaveIsCanceled()
86
86
$ paymentMock = $ this ->getMockBuilder (
87
87
\Magento \Sales \Model \Order \Payment::class
88
88
)->disableOriginalConstructor ()->setMethods ([])->getMock ();
89
- $ order ->expects ( $ this -> once ())-> method ('getPayment ' )->will ($ this ->returnValue ($ paymentMock ));
89
+ $ order ->method ('getPayment ' )->will ($ this ->returnValue ($ paymentMock ));
90
90
$ methodInstance = $ this ->getMockBuilder (
91
91
\Magento \Payment \Model \MethodInterface::class
92
92
)->getMockForAbstractClass ();
@@ -114,7 +114,7 @@ public function testSalesOrderBeforeSaveIsClosed()
114
114
$ paymentMock = $ this ->getMockBuilder (
115
115
\Magento \Sales \Model \Order \Payment::class
116
116
)->disableOriginalConstructor ()->setMethods ([])->getMock ();
117
- $ order ->expects ( $ this -> once ())-> method ('getPayment ' )->will ($ this ->returnValue ($ paymentMock ));
117
+ $ order ->method ('getPayment ' )->will ($ this ->returnValue ($ paymentMock ));
118
118
$ methodInstance = $ this ->getMockBuilder (
119
119
\Magento \Payment \Model \MethodInterface::class
120
120
)->getMockForAbstractClass ();
@@ -156,6 +156,26 @@ public function testSalesOrderBeforeSaveSetForced()
156
156
$ this ->salesOrderBeforeSaveObserver ->execute ($ this ->observerMock );
157
157
}
158
158
159
+ /**
160
+ * The method should check that the payment is available, as this is not always the case.
161
+ */
162
+ public function testDoesNothingWhenNoPaymentIsAvailable ()
163
+ {
164
+ $ this ->_prepareEventMockWithMethods (['getOrder ' ]);
165
+
166
+ $ order = $ this ->getMockBuilder (\Magento \Sales \Model \Order::class)->disableOriginalConstructor ()->setMethods (
167
+ array_merge (['__wakeup ' , 'getPayment ' ])
168
+ )->getMock ();
169
+
170
+ $ this ->eventMock ->expects ($ this ->once ())->method ('getOrder ' )->will (
171
+ $ this ->returnValue ($ order )
172
+ );
173
+
174
+ $ order ->expects ($ this ->exactly (1 ))->method ('getPayment ' )->willReturn (null );
175
+
176
+ $ this ->salesOrderBeforeSaveObserver ->execute ($ this ->observerMock );
177
+ }
178
+
159
179
/**
160
180
* Prepares EventMock with set of methods
161
181
*
@@ -184,7 +204,7 @@ private function _getPreparedOrderMethod($methodCode, $orderMethods = [])
184
204
$ paymentMock = $ this ->getMockBuilder (
185
205
\Magento \Sales \Model \Order \Payment::class
186
206
)->disableOriginalConstructor ()->setMethods ([])->getMock ();
187
- $ order ->expects ( $ this -> once ())-> method ('getPayment ' )->will ($ this ->returnValue ($ paymentMock ));
207
+ $ order ->method ('getPayment ' )->will ($ this ->returnValue ($ paymentMock ));
188
208
$ methodInstance = $ this ->getMockBuilder (
189
209
\Magento \Payment \Model \MethodInterface::class
190
210
)->getMockForAbstractClass ();
0 commit comments