public void shippedOrdersCannotBeShippedAgain() { Order initialOrder = new Order(); initialOrder.setId(1); initialOrder.setStatus(OrderStatus.SHIPPED); orderRepository.addOrder(initialOrder); OrderShipmentRequest request = new OrderShipmentRequest(); request.setOrderId(1); Assert.That(() => useCase.run(request), Throws.TypeOf <OrderCannotBeShippedTwiceException>()); }
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); Assert.That(orderRepository.getSavedOrder().getStatus(), Is.EqualTo(OrderStatus.SHIPPED)); Assert.That(shipmentService.getShippedOrder(), Is.EqualTo(initialOrder)); }
public void createdOrdersCannotBeShipped() { Order initialOrder = new Order(); initialOrder.setId(1); initialOrder.setStatus(OrderStatus.CREATED); orderRepository.addOrder(initialOrder); OrderShipmentRequest request = new OrderShipmentRequest(); request.setOrderId(1); Assert.That(() => useCase.run(request), Throws.TypeOf <OrderCannotBeShippedException>()); Assert.That(orderRepository.getSavedOrder(), Is.Null); Assert.That(shipmentService.getShippedOrder(), Is.Null); }