示例#1
0
 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));
 }
示例#2
0
 /**
  * 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'));
     }
 }