1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\InventoryApi\Test\Api\StockSourceLink;
use Magento\Framework\Api\SearchCriteria;
use Magento\Framework\Api\SortOrder;
use Magento\Framework\Webapi\Rest\Request;
use Magento\InventoryApi\Api\Data\StockSourceLinkInterface;
use Magento\TestFramework\Assert\AssertArrayContains;
use Magento\TestFramework\TestCase\WebapiAbstract;
class GetStockSourceLinksTest extends WebapiAbstract
{
/**#@+
* Service constants
*/
const RESOURCE_PATH = '/V1/inventory/stock-source-links';
const SERVICE_NAME = 'inventoryApiGetStockSourceLinksV1';
/**#@-*/
/**
* @magentoApiDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/sources.php
* @magentoApiDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/stocks.php
* @magentoApiDataFixture ../../../../app/code/Magento/InventoryApi/Test/_files/stock_source_links.php
*/
public function testGetList()
{
$requestData = [
'searchCriteria' => [
SearchCriteria::FILTER_GROUPS => [
[
'filters' => [
[
'field' => StockSourceLinkInterface::STOCK_ID,
'value' => 10,
'condition_type' => 'eq',
],
],
],
],
SearchCriteria::SORT_ORDERS => [
[
'field' => StockSourceLinkInterface::SOURCE_CODE,
'direction' => SortOrder::SORT_DESC,
],
],
SearchCriteria::CURRENT_PAGE => 2,
SearchCriteria::PAGE_SIZE => 2,
],
];
$expectedTotalCount = 4;
$expectedItemsData = [
[
StockSourceLinkInterface::SOURCE_CODE => 'eu-2',
StockSourceLinkInterface::STOCK_ID => 10,
StockSourceLinkInterface::PRIORITY => 2,
],
[
StockSourceLinkInterface::SOURCE_CODE => 'eu-1',
StockSourceLinkInterface::STOCK_ID => 10,
StockSourceLinkInterface::PRIORITY => 1,
],
];
$serviceInfo = [
'rest' => [
'resourcePath' => self::RESOURCE_PATH . '?' . http_build_query($requestData),
'httpMethod' => Request::HTTP_METHOD_GET,
],
'soap' => [
'service' => self::SERVICE_NAME,
'operation' => self::SERVICE_NAME . 'Execute',
],
];
$response = (TESTS_WEB_API_ADAPTER === self::ADAPTER_REST)
? $this->_webApiCall($serviceInfo)
: $this->_webApiCall($serviceInfo, $requestData);
AssertArrayContains::assert($requestData['searchCriteria'], $response['search_criteria']);
self::assertEquals($expectedTotalCount, $response['total_count']);
AssertArrayContains::assert($expectedItemsData, $response['items']);
}
}