Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DeserializationTest.php
Go to the documentation of this file.
1 <?php
7 namespace Magento\Webapi;
8 
10 
12 {
16  protected $_version;
17 
21  protected $_restResourcePath;
22 
23  protected function setUp()
24  {
25  $this->_version = 'V1';
26  $this->_restResourcePath = "/{$this->_version}/TestModule5/";
27  }
28 
32  public function testPostRequestWithEmptyBody()
33  {
34  $this->_markTestAsRestOnly();
35  $serviceInfo = [
36  'rest' => [
37  'resourcePath' => $this->_restResourcePath,
39  ],
40  ];
41  $expectedMessage =
42  '{"message":"\"%fieldName\" is required. Enter and try again.","parameters":{"fieldName":"item"}}';
43  try {
44  $this->_webApiCall($serviceInfo, RestClient::EMPTY_REQUEST_BODY);
45  } catch (\Exception $e) {
46  $this->assertEquals(\Magento\Framework\Webapi\Exception::HTTP_BAD_REQUEST, $e->getCode());
47  $this->assertContains(
48  $expectedMessage,
49  $e->getMessage(),
50  "Response does not contain expected message."
51  );
52  }
53  }
54 
58  public function testPutRequestWithEmptyBody()
59  {
60  $this->_markTestAsRestOnly();
61  $itemId = 1;
62  $serviceInfo = [
63  'rest' => [
64  'resourcePath' => $this->_restResourcePath . $itemId,
66  ],
67  ];
68  $expectedMessage =
69  '{"message":"\"%fieldName\" is required. Enter and try again.","parameters":{"fieldName":"entityItem"}}';
70  try {
71  $this->_webApiCall($serviceInfo, RestClient::EMPTY_REQUEST_BODY);
72  } catch (\Exception $e) {
73  $this->assertEquals(\Magento\Framework\Webapi\Exception::HTTP_BAD_REQUEST, $e->getCode());
74  $this->assertContains(
75  $expectedMessage,
76  $e->getMessage(),
77  "Response does not contain expected message."
78  );
79  }
80  }
81 }
_webApiCall( $serviceInfo, $arguments=[], $webApiAdapterCode=null, $storeCode=null, $integration=null)