function it_creates_a_single_shipment_and_assigns_all_inventory_units_to_it($shipmentRepository, OrderInterface $order, ShipmentInterface $shipment, ArrayCollection $shipments, InventoryUnitInterface $inventoryUnit)
 {
     $shipmentRepository->createNew()->willReturn($shipment);
     $order->hasShipments()->willReturn(false)->shouldBeCalled();
     $order->getInventoryUnits()->willReturn(array($inventoryUnit));
     $shipment->addItem($inventoryUnit)->shouldBeCalled();
     $order->addShipment($shipment)->shouldBeCalled();
     $this->createShipment($order);
 }
 function it_creates_a_single_shipment_and_assigns_all_unit_units_to_it(FactoryInterface $shipmentFactory, OrderInterface $order, ShipmentInterface $shipment, OrderItemUnitInterface $itemUnit)
 {
     $shipmentFactory->createNew()->willReturn($shipment);
     $order->hasShipments()->willReturn(false)->shouldBeCalled();
     $order->getItemUnits()->willReturn([$itemUnit]);
     $shipment->addUnit($itemUnit)->shouldBeCalled();
     $order->addShipment($shipment)->shouldBeCalled();
     $this->createForOrder($order);
 }
 /**
  * @param OrderInterface $order
  *
  * @return ShipmentInterface
  */
 private function getOrderShipment(OrderInterface $order)
 {
     if ($order->hasShipments()) {
         return $order->getShipments()->first();
     }
     /** @var ShipmentInterface $shipment */
     $shipment = $this->shipmentFactory->createNew();
     $order->addShipment($shipment);
     $shipment->setMethod($this->defaultShippingMethodResolver->getDefaultShippingMethod($shipment));
     return $shipment;
 }
 function it_creates_a_single_shipment_with_default_shipping_method_and_assigns_all_units_to_it(DefaultShippingMethodResolverInterface $defaultShippingMethodResolver, FactoryInterface $shipmentFactory, OrderInterface $order, OrderItemUnitInterface $itemUnit1, OrderItemUnitInterface $itemUnit2, ShipmentInterface $shipment, ShippingMethodInterface $defaultShippingMethod)
 {
     $defaultShippingMethodResolver->getDefaultShippingMethod($shipment)->willReturn($defaultShippingMethod);
     $shipmentFactory->createNew()->willReturn($shipment);
     $order->hasShipments()->willReturn(false);
     $order->getItemUnits()->willReturn([$itemUnit1, $itemUnit2]);
     $shipment->setMethod($defaultShippingMethod)->shouldBeCalled();
     $shipment->addUnit($itemUnit1)->shouldBeCalled();
     $shipment->addUnit($itemUnit2)->shouldBeCalled();
     $order->addShipment($shipment)->shouldBeCalled();
     $this->processOrderShipment($order);
 }
Example #5
0
 /**
  * {@inheritdoc}
  */
 public function createShipment(OrderInterface $order)
 {
     $shipment = $order->getShipments()->first();
     if (!$shipment) {
         $shipment = $this->shipmentRepository->createNew();
         $order->addShipment($shipment);
     }
     foreach ($order->getInventoryUnits() as $inventoryUnit) {
         if (null === $inventoryUnit->getShipment()) {
             $shipment->addItem($inventoryUnit);
         }
     }
 }
Example #6
0
 /**
  * {@inheritdoc}
  */
 public function createForOrder(OrderInterface $order)
 {
     if ($order->hasShipments()) {
         $shipment = $order->getShipments()->first();
     } else {
         $shipment = $this->shipmentFactory->createNew();
         $order->addShipment($shipment);
     }
     foreach ($order->getItemUnits() as $itemUnit) {
         if (null === $itemUnit->getShipment()) {
             $shipment->addUnit($itemUnit);
         }
     }
 }
Example #7
0
 protected function createShipment(OrderInterface $order)
 {
     /* @var $shipment ShipmentInterface */
     $shipment = $this->getShipmentFactory()->createNew();
     $shipment->setMethod($this->getReference('Sylius.ShippingMethod.UPS Ground'));
     $shipment->setState($this->getShipmentState());
     foreach ($order->getItemUnits() as $item) {
         $shipment->addItem($item);
     }
     $order->addShipment($shipment);
 }
Example #8
0
 protected function createShipment(OrderInterface $order)
 {
     /* @var $shipment ShipmentInterface */
     $shipment = $this->getShipmentFactory()->createNew();
     $shipment->setMethod($this->getReference('Sylius.ShippingMethod.ups_ground'));
     $shipment->setState($this->faker->boolean(50) ? ShipmentInterface::STATE_READY : ShipmentInterface::STATE_SHIPPED);
     foreach ($order->getItemUnits() as $item) {
         $shipment->addUnit($item);
     }
     $order->addShipment($shipment);
 }