function it_marks_order_as_returned_if_all_shipments_were_returned(OrderInterface $order, ShipmentInterface $shipment1, ShipmentInterface $shipment2) { $order->isBackorder()->shouldBeCalled()->willReturn(false); $order->getShipments()->willReturn(array($shipment1, $shipment2)); $shipment1->getState()->willReturn(ShipmentInterface::STATE_RETURNED); $shipment2->getState()->willReturn(ShipmentInterface::STATE_RETURNED); $order->setShippingState(OrderShippingStates::RETURNED)->shouldBeCalled(); $this->resolveShippingState($order); }
function it_does_not_mark_an_order_if_it_is_already_in_this_shipping_state(FactoryInterface $stateMachineFactory, OrderInterface $order, ShipmentInterface $shipment1, ShipmentInterface $shipment2, StateMachineInterface $orderStateMachine) { $shipments = new ArrayCollection(); $shipments->add($shipment1->getWrappedObject()); $shipments->add($shipment2->getWrappedObject()); $order->getShipments()->willReturn($shipments); $order->getShippingState()->willReturn(OrderShippingStates::STATE_SHIPPED); $stateMachineFactory->get($order, OrderShippingTransitions::GRAPH)->willReturn($orderStateMachine); $shipment1->getState()->willReturn(ShipmentInterface::STATE_SHIPPED); $shipment2->getState()->willReturn(ShipmentInterface::STATE_SHIPPED); $orderStateMachine->apply(OrderShippingTransitions::TRANSITION_SHIP)->shouldNotBeCalled(); $this->resolve($order); }