public void ShipApprovedOrder() { Order initialOrder = new Order(); initialOrder.SetId(1); initialOrder.SetStatus(OrderStatus.Approved); orderRepository.AddOrder(initialOrder); OrderShipmentRequest request = new OrderShipmentRequest(); request.SetOrderId(1); useCase.Run(request); orderRepository.GetSavedOrder().GetStatus().Should().Be(OrderStatus.Shipped); shipmentService.GetShippedOrder().Should().Be(initialOrder); }
public void ShippedOrdersCannotBeShippedAgain() { Order initialOrder = new Order(); initialOrder.SetId(1); initialOrder.SetStatus(OrderStatus.Shipped); orderRepository.AddOrder(initialOrder); OrderShipmentRequest request = new OrderShipmentRequest(); request.SetOrderId(1); Action act = () => useCase.Run(request); act.Should().Throw <OrderCannotBeShippedTwiceException>(); orderRepository.GetSavedOrder().Should().BeNull(); shipmentService.GetShippedOrder().Should().BeNull(); }