Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ShipmentRemoveTrackTest.php
Go to the documentation of this file.
1 <?php
7 
13 use Magento\Sales\Model\Order\Shipment\TrackFactory;
17 
22 {
26  const SERVICE_READ_NAME = 'salesShipmentTrackRepositoryV1';
27 
31  const SERVICE_VERSION = 'V1';
32 
36  const SHIPMENT_INCREMENT_ID = '100000001';
37 
41  private $objectManager;
42 
46  protected function setUp()
47  {
48  $this->objectManager = Bootstrap::getObjectManager();
49  }
50 
56  public function testShipmentRemoveTrack()
57  {
58  $shipmentCollection = $this->objectManager->get(Collection::class);
60  $shipment = $shipmentCollection->getFirstItem();
61 
62  $trackEntity = $this->objectManager->get(TrackFactory::class)
63  ->create(
64  [
65  'data' => [
72  ShipmentTrackInterface::DESCRIPTION => 'Shipment description',
73  ShipmentTrackInterface::TITLE => 'Shipment title',
75  ]
76  ]
77  );
78 
80  $trackEntity = $this->objectManager->get(ShipmentTrackRepositoryInterface::class)
81  ->save($trackEntity);
82 
83  $serviceInfo = [
84  'rest' => [
85  'resourcePath' => '/V1/shipment/track/' . $trackEntity->getEntityId(),
86  'httpMethod' => Request::HTTP_METHOD_DELETE,
87  ],
88  'soap' => [
89  'service' => self::SERVICE_READ_NAME,
90  'serviceVersion' => self::SERVICE_VERSION,
91  'operation' => self::SERVICE_READ_NAME . 'deleteById',
92  ],
93  ];
94 
95  $result = $this->_webApiCall($serviceInfo, ['id' => $trackEntity->getEntityId()]);
96 
97  self::assertTrue($result);
98  $this->assertNoAvailableTrackItems($shipment->getId());
99  }
100 
107  private function assertNoAvailableTrackItems($shipmentId)
108  {
110  $searchCriteriaBuilder = $this->objectManager->get(SearchCriteriaBuilder::class);
112  ->create();
113 
114  $items = $this->objectManager->get(ShipmentTrackRepositoryInterface::class)
115  ->getList($searchCriteria)
116  ->getItems();
117 
118  self::assertEmpty($items);
119  }
120 }
_webApiCall( $serviceInfo, $arguments=[], $webApiAdapterCode=null, $storeCode=null, $integration=null)
$searchCriteria
$searchCriteriaBuilder
foreach($order->getItems() as $orderItem) $shipment
$items