6
6
7
7
namespace Magento \Sales \Service \V1 ;
8
8
9
+ use Magento \Framework \ObjectManagerInterface ;
10
+ use Magento \Sales \Model \Order \Interceptor ;
9
11
use Magento \TestFramework \TestCase \WebapiAbstract ;
10
12
11
13
/**
14
16
class OrderCancelTest extends WebapiAbstract
15
17
{
16
18
const SERVICE_VERSION = 'V1 ' ;
17
-
18
19
const SERVICE_NAME = 'salesOrderManagementV1 ' ;
19
20
20
21
/**
21
- * @magentoApiDataFixture Magento/Sales/_files/order.php
22
+ * @var ObjectManagerInterface
22
23
*/
23
- public function testOrderCancel ()
24
+ private $ objectManager ;
25
+
26
+ /**
27
+ * @inheritdoc
28
+ */
29
+ protected function setUp ()
30
+ {
31
+ $ this ->objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
32
+ }
33
+
34
+ /**
35
+ * Gets order by increment ID.
36
+ *
37
+ * @param string $incrementId
38
+ * @return Interceptor
39
+ */
40
+ private function getOrder (string $ incrementId ): Interceptor
41
+ {
42
+ return $ this ->objectManager ->get (\Magento \Sales \Model \Order::class)->loadByIncrementId ($ incrementId );
43
+ }
44
+
45
+ /**
46
+ * Send API request for canceling the order
47
+ *
48
+ * @param object $order
49
+ * @return array|bool|float|int|string
50
+ */
51
+ private function sendCancelRequest ($ order )
24
52
{
25
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
26
- $ order = $ objectManager ->get (\Magento \Sales \Model \Order::class)->loadByIncrementId ('100000001 ' );
27
53
$ serviceInfo = [
28
54
'rest ' => [
29
55
'resourcePath ' => '/V1/orders/ ' . $ order ->getId () . '/cancel ' ,
@@ -36,7 +62,16 @@ public function testOrderCancel()
36
62
],
37
63
];
38
64
$ requestData = ['id ' => $ order ->getId ()];
39
- $ result = $ this ->_webApiCall ($ serviceInfo , $ requestData );
65
+ return $ this ->_webApiCall ($ serviceInfo , $ requestData );
66
+ }
67
+
68
+ /**
69
+ * @magentoApiDataFixture Magento/Sales/_files/order.php
70
+ */
71
+ public function testOrderCancel ()
72
+ {
73
+ $ order = $ this ->getOrder ('100000001 ' );
74
+ $ result = $ this ->sendCancelRequest ($ order );
40
75
$ this ->assertTrue ($ result );
41
76
}
42
77
@@ -45,22 +80,8 @@ public function testOrderCancel()
45
80
*/
46
81
public function testOrderWithStateHoldedShouldNotBeCanceled ()
47
82
{
48
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
49
- $ order = $ objectManager ->get (\Magento \Sales \Model \Order::class)->loadByIncrementId ('100000001 ' );
50
- $ serviceInfo = [
51
- 'rest ' => [
52
- 'resourcePath ' => '/V1/orders/ ' . $ order ->getId () . '/cancel ' ,
53
- 'httpMethod ' => \Magento \Framework \Webapi \Rest \Request::HTTP_METHOD_POST ,
54
- ],
55
- 'soap ' => [
56
- 'service ' => self ::SERVICE_NAME ,
57
- 'serviceVersion ' => self ::SERVICE_VERSION ,
58
- 'operation ' => self ::SERVICE_NAME . 'cancel ' ,
59
- ],
60
- ];
61
-
62
- $ requestData = ['id ' => $ order ->getId ()];
63
- $ result = $ this ->_webApiCall ($ serviceInfo , $ requestData );
83
+ $ order = $ this ->getOrder ('100000001 ' );
84
+ $ result = $ this ->sendCancelRequest ($ order );
64
85
$ this ->assertFalse ($ result );
65
86
}
66
87
}
0 commit comments