Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ShipmentGetTest.php
Go to the documentation of this file.
1 <?php
7 
11 
16 {
17  const RESOURCE_PATH = '/V1/shipment';
18  const SERVICE_READ_NAME = 'salesShipmentRepositoryV1';
19  const SERVICE_VERSION = 'V1';
20 
24  protected $objectManager;
25 
26  protected function setUp()
27  {
29  }
30 
34  public function testShipmentGet()
35  {
37  $shipmentCollection = $this->objectManager->get(
38  \Magento\Sales\Model\ResourceModel\Order\Shipment\Collection::class
39  );
40  $shipment = $shipmentCollection->getFirstItem();
41  $shipment->load($shipment->getId());
42  $serviceInfo = [
43  'rest' => [
44  'resourcePath' => self::RESOURCE_PATH . '/' . $shipment->getId(),
46  ],
47  'soap' => [
48  'service' => self::SERVICE_READ_NAME,
49  'serviceVersion' => self::SERVICE_VERSION,
50  'operation' => self::SERVICE_READ_NAME . 'get',
51  ],
52  ];
53  $result = $this->_webApiCall($serviceInfo, ['id' => $shipment->getId()]);
54  $data = $result;
55  $this->assertArrayHasKey('items', $result);
56  $this->assertArrayHasKey('tracks', $result);
57  unset($data['items']);
58  unset($data['packages']);
59  unset($data['tracks']);
60  foreach ($data as $key => $value) {
61  if (!empty($value)) {
63  foreach ($value as $extensionAttributeKey => $extensionAttributeValue) {
64  $methodName = 'get' .
66  $this->assertEquals(
67  $shipment->getExtensionAttributes()->$methodName(),
68  $extensionAttributeValue
69  );
70  }
71  } else {
72  $this->assertEquals($shipment->getData($key), $value, $key);
73  }
74  }
75  }
76  $shipmentItem = $this->objectManager->get(\Magento\Sales\Model\Order\Shipment\Item::class);
77  foreach ($result['items'] as $item) {
78  $shipmentItem->load($item['entity_id']);
79  foreach ($item as $key => $value) {
80  $this->assertEquals($shipmentItem->getData($key), $value, $key);
81  }
82  }
83  $shipmentTrack = $this->objectManager->get(\Magento\Sales\Model\Order\Shipment\Track::class);
84  foreach ($result['tracks'] as $item) {
85  $shipmentTrack->load($item['entity_id']);
86  foreach ($item as $key => $value) {
87  $this->assertEquals($shipmentTrack->getData($key), $value, $key);
88  }
89  }
90  }
91 }
_webApiCall( $serviceInfo, $arguments=[], $webApiAdapterCode=null, $storeCode=null, $integration=null)
$value
Definition: gender.phtml:16
$shipmentItem
foreach($order->getItems() as $orderItem) $shipment