Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
OrderListTest.php
Go to the documentation of this file.
1 <?php
7 
9 
15 {
16  const RESOURCE_PATH = '/V1/orders';
17 
18  const SERVICE_READ_NAME = 'salesOrderRepositoryV1';
19 
20  const SERVICE_VERSION = 'V1';
21 
25  protected $objectManager;
26 
27  protected function setUp()
28  {
30  }
31 
35  public function testOrderList()
36  {
38  $sortOrderBuilder = $this->objectManager->get(
39  \Magento\Framework\Api\SortOrderBuilder::class
40  );
42  $searchCriteriaBuilder = $this->objectManager->create(
43  \Magento\Framework\Api\SearchCriteriaBuilder::class
44  );
45 
47  $filterBuilder = $this->objectManager->create(
48  \Magento\Framework\Api\FilterBuilder::class
49  );
50  $filter1 = $filterBuilder
51  ->setField('status')
52  ->setValue('processing')
53  ->setConditionType('eq')
54  ->create();
55  $filter2 = $filterBuilder
56  ->setField('state')
57  ->setValue(\Magento\Sales\Model\Order::STATE_NEW)
58  ->setConditionType('eq')
59  ->create();
60  $filter3 = $filterBuilder
61  ->setField('increment_id')
62  ->setValue('100000001')
63  ->setConditionType('eq')
64  ->create();
65  $sortOrder = $sortOrderBuilder->setField('grand_total')
66  ->setDirection('DESC')
67  ->create();
68  $searchCriteriaBuilder->addFilters([$filter1]);
69  $searchCriteriaBuilder->addFilters([$filter2, $filter3]);
70  $searchCriteriaBuilder->addSortOrder($sortOrder);
71  $searchData = $searchCriteriaBuilder->create()->__toArray();
72 
73  $requestData = ['searchCriteria' => $searchData];
74  $serviceInfo = [
75  'rest' => [
76  'resourcePath' => self::RESOURCE_PATH . '?' . http_build_query($requestData),
78  ],
79  'soap' => [
80  'service' => self::SERVICE_READ_NAME,
81  'serviceVersion' => self::SERVICE_VERSION,
82  'operation' => self::SERVICE_READ_NAME . 'getList',
83  ],
84  ];
85 
86  $result = $this->_webApiCall($serviceInfo, $requestData);
87  $this->assertArrayHasKey('items', $result);
88  $this->assertCount(2, $result['items']);
89  $this->assertArrayHasKey('search_criteria', $result);
90  $this->assertEquals($searchData, $result['search_criteria']);
91  $this->assertEquals('100000002', $result['items'][0]['increment_id']);
92  $this->assertEquals('100000001', $result['items'][1]['increment_id']);
93  }
94 }
_webApiCall( $serviceInfo, $arguments=[], $webApiAdapterCode=null, $storeCode=null, $integration=null)
$searchCriteriaBuilder