Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ShipmentListTest.php
Go to the documentation of this file.
1 <?php
7 
9 
14 {
15  const RESOURCE_PATH = '/V1/shipments';
16 
17  const SERVICE_READ_NAME = 'salesShipmentRepositoryV1';
18 
19  const SERVICE_VERSION = 'V1';
20 
24  protected $objectManager;
25 
26  protected function setUp()
27  {
29  }
30 
34  public function testShipmentList()
35  {
37  $sortOrderBuilder = $this->objectManager->get(
38  \Magento\Framework\Api\SortOrderBuilder::class
39  );
41  $searchCriteriaBuilder = $this->objectManager->create(
42  \Magento\Framework\Api\SearchCriteriaBuilder::class
43  );
44 
46  $filterBuilder = $this->objectManager->create(
47  \Magento\Framework\Api\FilterBuilder::class
48  );
49  $filter1 = $filterBuilder
50  ->setField('shipment_status')
51  ->setValue(1)
52  ->setConditionType('eq')
53  ->create();
54  $filter2 = $filterBuilder
55  ->setField('store_id')
56  ->setValue(1)
57  ->setConditionType('eq')
58  ->create();
59  $filter3 = $filterBuilder
60  ->setField('shipping_address_id')
61  ->setValue(3)
62  ->setConditionType('eq')
63  ->create();
64  $sortOrder = $sortOrderBuilder->setField('increment_id')
65  ->setDirection('ASC')
66  ->create();
67  $searchCriteriaBuilder->addFilters([$filter1, $filter2]);
68  $searchCriteriaBuilder->addFilters([$filter3]);
69  $searchCriteriaBuilder->addSortOrder($sortOrder);
70 
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  // TODO Test fails, due to the inability of the framework API to handle data collection
88  $this->assertArrayHasKey('items', $result);
89  $this->assertCount(2, $result['items']);
90  $this->assertArrayHasKey('search_criteria', $result);
91  $this->assertEquals($searchData, $result['search_criteria']);
92  $this->assertEquals('100000002', $result['items'][0]['increment_id']);
93  $this->assertEquals('100000003', $result['items'][1]['increment_id']);
94  $this->assertEquals(base64_encode('shipping_label_100000002'), $result['items'][0]['shipping_label']);
95  $this->assertEquals(base64_encode('shipping_label_100000003'), $result['items'][1]['shipping_label']);
96  }
97 }
_webApiCall( $serviceInfo, $arguments=[], $webApiAdapterCode=null, $storeCode=null, $integration=null)
$searchCriteriaBuilder