public function cancel()
 {
     $expiredUnpaidOrders = $this->orderRepository->findOrdersUnpaidSince(new \DateTime('-' . $this->expirationPeriod));
     foreach ($expiredUnpaidOrders as $expiredUnpaidOrder) {
         $this->cancelOrder($expiredUnpaidOrder);
     }
 }
 function it_cancels_unpaid_orders(Factory $stateMachineFactory, OrderInterface $firstOrder, OrderInterface $secondOrder, OrderRepositoryInterface $orderRepository, StateMachineInterface $firstOrderStateMachine, StateMachineInterface $secondOrderStateMachine)
 {
     $orderRepository->findOrdersUnpaidSince(Argument::type(\DateTime::class))->willReturn([$firstOrder, $secondOrder]);
     $stateMachineFactory->get($firstOrder, 'sylius_order')->willReturn($firstOrderStateMachine);
     $stateMachineFactory->get($secondOrder, 'sylius_order')->willReturn($secondOrderStateMachine);
     $firstOrderStateMachine->apply(OrderTransitions::TRANSITION_CANCEL)->shouldBeCalled();
     $secondOrderStateMachine->apply(OrderTransitions::TRANSITION_CANCEL)->shouldBeCalled();
     $this->cancel();
 }