public function testGetModel() { $orderId = 1; $shipmentId = 2; $items = []; $tracking = []; $shipmentDataObjectMock = $this->getMockBuilder('Magento\\Sales\\Service\\V1\\Data\\Shipment')->disableOriginalConstructor()->setMethods([])->getMock(); $shipmentDataObjectMock->expects($this->any())->method('getOrderId')->will($this->returnValue($orderId)); $shipmentDataObjectMock->expects($this->any())->method('getEntityId')->will($this->returnValue($shipmentId)); $shipmentDataObjectMock->expects($this->any())->method('getItems')->will($this->returnValue($items)); $shipmentDataObjectMock->expects($this->any())->method('getTracks')->will($this->returnValue($tracking)); $shipmentMock = $this->getMockBuilder('Magento\\Sales\\Model\\Order\\Shipment')->disableOriginalConstructor()->setMethods([])->getMock(); $this->shipmentLoaderMock->expects($this->once())->method('load')->with()->will($this->returnValue($shipmentMock)); $this->assertInstanceOf('Magento\\Sales\\Model\\Order\\Shipment', $this->converter->getModel($shipmentDataObjectMock)); }
/** * Invoke CreateShipment service * * @param \Magento\Sales\Service\V1\Data\Shipment $shipmentDataObject * @return bool * @throws \Exception */ public function invoke(\Magento\Sales\Service\V1\Data\Shipment $shipmentDataObject) { try { /** @var \Magento\Sales\Model\Order\Shipment $shipment */ $shipment = $this->shipmentConverter->getModel($shipmentDataObject); if (!$shipment) { return false; } $shipment->getOrder()->setIsInProcess(true); $shipment->register(); $shipment->save(); return true; } catch (\Exception $e) { $this->logger->logException($e); throw new \Exception(__('An error has occurred during creating Shipment')); } }