コード例 #1
0
        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>());
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }