init
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright © Magento, Inc. All rights reserved.
|
||||
* See COPYING.txt for license details.
|
||||
*/
|
||||
|
||||
namespace Magento\Webapi;
|
||||
|
||||
use Magento\TestFramework\TestCase\Webapi\Adapter\Rest\RestClient;
|
||||
|
||||
class DeserializationTest extends \Magento\TestFramework\TestCase\WebapiAbstract
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_version;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_restResourcePath;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->_version = 'V1';
|
||||
$this->_restResourcePath = "/{$this->_version}/TestModule5/";
|
||||
}
|
||||
|
||||
/**
|
||||
* Test POST request with empty body
|
||||
*/
|
||||
public function testPostRequestWithEmptyBody()
|
||||
{
|
||||
$this->_markTestAsRestOnly();
|
||||
$serviceInfo = [
|
||||
'rest' => [
|
||||
'resourcePath' => $this->_restResourcePath,
|
||||
'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST,
|
||||
],
|
||||
];
|
||||
$expectedMessage =
|
||||
'{"message":"\"%fieldName\" is required. Enter and try again.","parameters":{"fieldName":"item"}}';
|
||||
try {
|
||||
$this->_webApiCall($serviceInfo, RestClient::EMPTY_REQUEST_BODY);
|
||||
} catch (\Exception $e) {
|
||||
$this->assertEquals(\Magento\Framework\Webapi\Exception::HTTP_BAD_REQUEST, $e->getCode());
|
||||
$this->assertStringContainsString(
|
||||
$expectedMessage,
|
||||
$e->getMessage(),
|
||||
"Response does not contain expected message."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test PUT request with empty body
|
||||
*/
|
||||
public function testPutRequestWithEmptyBody()
|
||||
{
|
||||
$this->_markTestAsRestOnly();
|
||||
$itemId = 1;
|
||||
$serviceInfo = [
|
||||
'rest' => [
|
||||
'resourcePath' => $this->_restResourcePath . $itemId,
|
||||
'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_PUT,
|
||||
],
|
||||
];
|
||||
$expectedMessage =
|
||||
'{"message":"\"%fieldName\" is required. Enter and try again.","parameters":{"fieldName":"entityItem"}}';
|
||||
try {
|
||||
$this->_webApiCall($serviceInfo, RestClient::EMPTY_REQUEST_BODY);
|
||||
} catch (\Exception $e) {
|
||||
$this->assertEquals(\Magento\Framework\Webapi\Exception::HTTP_BAD_REQUEST, $e->getCode());
|
||||
$this->assertStringContainsString(
|
||||
$expectedMessage,
|
||||
$e->getMessage(),
|
||||
"Response does not contain expected message."
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user