@@ -45,6 +45,8 @@ protected function setUp(): void
45
45
'getIsVirtual ' ,
46
46
'getIsNotVirtual ' ,
47
47
'getStatus ' ,
48
+ 'getAllItems ' ,
49
+ 'isPartiallyRefundedOrderShipped '
48
50
]
49
51
)
50
52
->disableOriginalConstructor ()
@@ -81,7 +83,8 @@ public function testCheck(
81
83
int $ callGetIsInProcessNum ,
82
84
bool $ isCanceled ,
83
85
bool $ canUnhold ,
84
- bool $ isNotVirtual
86
+ bool $ isNotVirtual ,
87
+ bool $ isPartiallyRefundedOrderShipped
85
88
) {
86
89
$ this ->orderMock ->setState ($ currentState );
87
90
$ this ->orderMock ->expects ($ this ->any ())
@@ -110,6 +113,12 @@ public function testCheck(
110
113
$ this ->orderMock ->method ('getStatus ' )
111
114
->willReturn ($ expectedState );
112
115
}
116
+
117
+ $ this ->orderMock ->method ('getAllItems ' )
118
+ ->willReturn ([]);
119
+ $ this ->orderMock ->method ('isPartiallyRefundedOrderShipped ' )
120
+ ->willReturn ($ isPartiallyRefundedOrderShipped );
121
+
113
122
$ this ->state ->check ($ this ->orderMock );
114
123
$ this ->assertEquals ($ expectedState , $ this ->orderMock ->getState ());
115
124
}
@@ -134,7 +143,8 @@ public function stateCheckDataProvider()
134
143
'get_is_in_process_invoke_count ' => 0 ,
135
144
'is_canceled ' => false ,
136
145
'can_unhold ' => false ,
137
- 'is_not_virtual ' => true
146
+ 'is_not_virtual ' => true ,
147
+ 'isPartiallyRefundedOrderShipped ' => false
138
148
],
139
149
'complete - !canCreditmemo,!canShip -> closed ' => [
140
150
'can_credit_memo ' => false ,
@@ -147,7 +157,8 @@ public function stateCheckDataProvider()
147
157
'get_is_in_process_invoke_count ' => 0 ,
148
158
'is_canceled ' => false ,
149
159
'can_unhold ' => false ,
150
- 'is_not_virtual ' => true
160
+ 'is_not_virtual ' => true ,
161
+ 'isPartiallyRefundedOrderShipped ' => false
151
162
],
152
163
'processing - !canCreditmemo,canShip -> processing ' => [
153
164
'can_credit_memo ' => false ,
@@ -160,7 +171,8 @@ public function stateCheckDataProvider()
160
171
'get_is_in_process_invoke_count ' => 0 ,
161
172
'is_canceled ' => false ,
162
173
'can_unhold ' => false ,
163
- 'is_not_virtual ' => true
174
+ 'is_not_virtual ' => true ,
175
+ 'isPartiallyRefundedOrderShipped ' => false
164
176
],
165
177
'complete - !canCreditmemo,canShip -> complete ' => [
166
178
'can_credit_memo ' => false ,
@@ -173,7 +185,8 @@ public function stateCheckDataProvider()
173
185
'get_is_in_process_invoke_count ' => 0 ,
174
186
'is_canceled ' => false ,
175
187
'can_unhold ' => false ,
176
- 'is_not_virtual ' => true
188
+ 'is_not_virtual ' => true ,
189
+ 'isPartiallyRefundedOrderShipped ' => false
177
190
],
178
191
'processing - canCreditmemo,!canShip -> complete ' => [
179
192
'can_credit_memo ' => true ,
@@ -186,7 +199,8 @@ public function stateCheckDataProvider()
186
199
'get_is_in_process_invoke_count ' => 0 ,
187
200
'is_canceled ' => false ,
188
201
'can_unhold ' => false ,
189
- 'is_not_virtual ' => true
202
+ 'is_not_virtual ' => true ,
203
+ 'isPartiallyRefundedOrderShipped ' => true
190
204
],
191
205
'complete - canCreditmemo,!canShip -> complete ' => [
192
206
'can_credit_memo ' => true ,
@@ -199,7 +213,8 @@ public function stateCheckDataProvider()
199
213
'get_is_in_process_invoke_count ' => 0 ,
200
214
'is_canceled ' => false ,
201
215
'can_unhold ' => false ,
202
- 'is_not_virtual ' => true
216
+ 'is_not_virtual ' => true ,
217
+ 'isPartiallyRefundedOrderShipped ' => false
203
218
],
204
219
'processing - canCreditmemo, canShip -> processing ' => [
205
220
'can_credit_memo ' => true ,
@@ -212,7 +227,8 @@ public function stateCheckDataProvider()
212
227
'get_is_in_process_invoke_count ' => 0 ,
213
228
'is_canceled ' => false ,
214
229
'can_unhold ' => false ,
215
- 'is_not_virtual ' => true
230
+ 'is_not_virtual ' => true ,
231
+ 'isPartiallyRefundedOrderShipped ' => false
216
232
],
217
233
'complete - canCreditmemo, canShip -> complete ' => [
218
234
'can_credit_memo ' => true ,
@@ -225,7 +241,8 @@ public function stateCheckDataProvider()
225
241
'get_is_in_process_invoke_count ' => 0 ,
226
242
'is_canceled ' => false ,
227
243
'can_unhold ' => false ,
228
- 'is_not_virtual ' => true
244
+ 'is_not_virtual ' => true ,
245
+ 'isPartiallyRefundedOrderShipped ' => false
229
246
],
230
247
'new - canCreditmemo, canShip, IsInProcess -> processing ' => [
231
248
'can_credit_memo ' => true ,
@@ -238,7 +255,8 @@ public function stateCheckDataProvider()
238
255
'get_is_in_process_invoke_count ' => 1 ,
239
256
'is_canceled ' => false ,
240
257
'can_unhold ' => false ,
241
- 'is_not_virtual ' => true
258
+ 'is_not_virtual ' => true ,
259
+ 'isPartiallyRefundedOrderShipped ' => false
242
260
],
243
261
'new - canCreditmemo, !canShip, IsInProcess -> processing ' => [
244
262
'can_credit_memo ' => true ,
@@ -251,7 +269,36 @@ public function stateCheckDataProvider()
251
269
'get_is_in_process_invoke_count ' => 1 ,
252
270
'is_canceled ' => false ,
253
271
'can_unhold ' => false ,
254
- 'is_not_virtual ' => true
272
+ 'is_not_virtual ' => true ,
273
+ 'isPartiallyRefundedOrderShipped ' => false
274
+ ],
275
+ 'processing - canCreditmemo, !canShip, isPartiallyRefundedOrderShipped -> complete ' => [
276
+ 'can_credit_memo ' => true ,
277
+ 'can_credit_memo_invoke_count ' => 1 ,
278
+ 'can_ship ' => false ,
279
+ 'call_can_skip_num ' => 1 ,
280
+ 'current_state ' => Order::STATE_PROCESSING ,
281
+ 'expected_state ' => Order::STATE_COMPLETE ,
282
+ 'is_in_process ' => true ,
283
+ 'get_is_in_process_invoke_count ' => 0 ,
284
+ 'is_canceled ' => false ,
285
+ 'can_unhold ' => false ,
286
+ 'is_not_virtual ' => true ,
287
+ 'isPartiallyRefundedOrderShipped ' => true
288
+ ],
289
+ 'processing - canCreditmemo, !canShip, !isPartiallyRefundedOrderShipped -> processing ' => [
290
+ 'can_credit_memo ' => true ,
291
+ 'can_credit_memo_invoke_count ' => 1 ,
292
+ 'can_ship ' => true ,
293
+ 'call_can_skip_num ' => 1 ,
294
+ 'current_state ' => Order::STATE_PROCESSING ,
295
+ 'expected_state ' => Order::STATE_PROCESSING ,
296
+ 'is_in_process ' => true ,
297
+ 'get_is_in_process_invoke_count ' => 0 ,
298
+ 'is_canceled ' => false ,
299
+ 'can_unhold ' => false ,
300
+ 'is_not_virtual ' => true ,
301
+ 'isPartiallyRefundedOrderShipped ' => false
255
302
],
256
303
'new - canCreditmemo, canShip, !IsInProcess -> new ' => [
257
304
'can_credit_memo ' => true ,
@@ -264,7 +311,8 @@ public function stateCheckDataProvider()
264
311
'get_is_in_process_invoke_count ' => 1 ,
265
312
'is_canceled ' => false ,
266
313
'can_unhold ' => false ,
267
- 'is_not_virtual ' => true
314
+ 'is_not_virtual ' => true ,
315
+ 'isPartiallyRefundedOrderShipped ' => false
268
316
],
269
317
'hold - canUnhold -> hold ' => [
270
318
'can_credit_memo ' => true ,
@@ -277,7 +325,8 @@ public function stateCheckDataProvider()
277
325
'get_is_in_process_invoke_count ' => 0 ,
278
326
'is_canceled ' => false ,
279
327
'can_unhold ' => true ,
280
- 'is_not_virtual ' => true
328
+ 'is_not_virtual ' => true ,
329
+ 'isPartiallyRefundedOrderShipped ' => false
281
330
],
282
331
'payment_review - canUnhold -> payment_review ' => [
283
332
'can_credit_memo ' => true ,
@@ -290,7 +339,8 @@ public function stateCheckDataProvider()
290
339
'get_is_in_process_invoke_count ' => 0 ,
291
340
'is_canceled ' => false ,
292
341
'can_unhold ' => true ,
293
- 'is_not_virtual ' => true
342
+ 'is_not_virtual ' => true ,
343
+ 'isPartiallyRefundedOrderShipped ' => false
294
344
],
295
345
'pending_payment - canUnhold -> pending_payment ' => [
296
346
'can_credit_memo ' => true ,
@@ -303,7 +353,8 @@ public function stateCheckDataProvider()
303
353
'get_is_in_process_invoke_count ' => 0 ,
304
354
'is_canceled ' => false ,
305
355
'can_unhold ' => true ,
306
- 'is_not_virtual ' => true
356
+ 'is_not_virtual ' => true ,
357
+ 'isPartiallyRefundedOrderShipped ' => false
307
358
],
308
359
'cancelled - isCanceled -> cancelled ' => [
309
360
'can_credit_memo ' => true ,
@@ -316,20 +367,36 @@ public function stateCheckDataProvider()
316
367
'get_is_in_process_invoke_count ' => 0 ,
317
368
'is_canceled ' => true ,
318
369
'can_unhold ' => false ,
319
- 'is_not_virtual ' => true
370
+ 'is_not_virtual ' => true ,
371
+ 'isPartiallyRefundedOrderShipped ' => false
320
372
],
321
- 'processing - !canCreditmemo!canShip -> complete(virtual product) ' => [
373
+ 'processing - !canCreditmemo !canShip -> complete(virtual product) ' => [
322
374
'can_credit_memo ' => false ,
323
375
'can_credit_memo_invoke_count ' => 1 ,
324
376
'can_ship ' => false ,
325
- 'call_can_skip_num ' => 2 ,
377
+ 'call_can_skip_num ' =>2 ,
326
378
'current_state ' => Order::STATE_PROCESSING ,
327
379
'expected_state ' => Order::STATE_COMPLETE ,
328
380
'is_in_process ' => false ,
329
381
'get_is_in_process_invoke_count ' => 0 ,
330
382
'is_canceled ' => false ,
331
383
'can_unhold ' => false ,
332
- 'is_not_virtual ' => false
384
+ 'is_not_virtual ' => false ,
385
+ 'isPartiallyRefundedOrderShipped ' => true
386
+ ],
387
+ 'complete - !canCreditmemo, !canShip !isPartiallyRefundedOrderShipped - closed(virtual product) ' => [
388
+ 'can_credit_memo ' => false ,
389
+ 'can_credit_memo_invoke_count ' => 1 ,
390
+ 'can_ship ' => false ,
391
+ 'call_can_skip_num ' => 1 ,
392
+ 'current_state ' => Order::STATE_COMPLETE ,
393
+ 'expected_state ' => Order::STATE_CLOSED ,
394
+ 'is_in_process ' => false ,
395
+ 'get_is_in_process_invoke_count ' => 0 ,
396
+ 'is_canceled ' => false ,
397
+ 'can_unhold ' => false ,
398
+ 'is_not_virtual ' => true ,
399
+ 'isPartiallyRefundedOrderShipped ' => true
333
400
],
334
401
'complete - !canCreditmemo, !canShip - closed(virtual product) ' => [
335
402
'can_credit_memo ' => false ,
@@ -342,7 +409,22 @@ public function stateCheckDataProvider()
342
409
'get_is_in_process_invoke_count ' => 0 ,
343
410
'is_canceled ' => false ,
344
411
'can_unhold ' => false ,
345
- 'is_not_virtual ' => false ,
412
+ 'is_not_virtual ' => true ,
413
+ 'isPartiallyRefundedOrderShipped ' => false
414
+ ],
415
+ 'complete - !canCreditmemo, !canShip - closed(virtual product) ' => [
416
+ 'can_credit_memo ' => false ,
417
+ 'can_credit_memo_invoke_count ' => 1 ,
418
+ 'can_ship ' => false ,
419
+ 'call_can_skip_num ' => 1 ,
420
+ 'current_state ' => Order::STATE_COMPLETE ,
421
+ 'expected_state ' => Order::STATE_CLOSED ,
422
+ 'is_in_process ' => false ,
423
+ 'get_is_in_process_invoke_count ' => 0 ,
424
+ 'is_canceled ' => false ,
425
+ 'can_unhold ' => false ,
426
+ 'is_not_virtual ' => true ,
427
+ 'isPartiallyRefundedOrderShipped ' => false
346
428
],
347
429
];
348
430
}
0 commit comments