示例#1
0
        public void RejectExistingOrder()
        {
            Order initialOrder = Order.InitialOrder(OrderStatus.Created);

            orderRepository.AddOrder(initialOrder);
            OrderApprovalRequest request = new OrderApprovalRequest {
                OrderId = 1, Approved = false
            };

            useCase.Run(request);

            Assert.Equal(orderRepository.SavedOrder.Status, OrderStatus.Rejected);
        }
示例#2
0
        public void ShippedOrdersCannotBeApproved()
        {
            var initialOrder = new Order {
                Status = OrderStatus.Shipped, Id = 1
            };

            orderRepository.AddOrder(initialOrder);
            var request = new OrderApprovalRequest {
                OrderId = 1, Approved = true
            };

            Assert.Throws <ShippedOrdersCannotBeChangedException>(() => useCase.Run(request));
        }
        public void CannotRejectApprovedOrder()
        {
            Order initialOrder = OrderBuilder.AnOrder().WithId(1).WithStatus(OrderStatus.Approved).Build();

            orderRepository.AddOrder(initialOrder);
            OrderApprovalRequest request = new OrderApprovalRequest {
                OrderId = 1, Approved = false
            };

            Action runAction = () => useCase.Run(request);

            Assert.Throws <ApprovedOrderCannotBeRejectedException>(runAction);
        }
示例#4
0
        public void CannotApproveRejectedOrderBy()
        {
            Order initialOrder = Order.InitialOrder(OrderStatus.Rejected);

            orderRepository.AddOrder(initialOrder);
            OrderApprovalRequest request = new OrderApprovalRequest {
                OrderId = 1, Approved = true
            };

            Action runAction = () => useCase.Run(request);

            Assert.Throws <RejectedOrderCannotBeApprovedException>(runAction);
        }
        public void ShippedOrdersCannotBeApproved()
        {
            Order initialOrder = OrderBuilder.AnOrder().WithId(1).WithStatus(OrderStatus.Shipped).Build();

            orderRepository.AddOrder(initialOrder);
            OrderApprovalRequest request = new OrderApprovalRequest {
                OrderId = 1, Approved = true
            };

            Action runAction = () => useCase.Run(request);

            Assert.Throws <ShippedOrdersCannotBeChangedException>(runAction);
        }
        public void RejectExistingOrder()
        {
            Order initialOrder = OrderBuilder.AnOrder().WithId(1).Build();

            orderRepository.AddOrder(initialOrder);
            OrderApprovalRequest request = new OrderApprovalRequest {
                OrderId = 1, Approved = false
            };

            useCase.Run(request);

            Assert.Equal(OrderStatus.Rejected, orderRepository.SavedOrder.Status);
        }
示例#7
0
        public void ShippedOrdersCannotBeRejected()
        {
            Order initialOrder = Order.InitialOrder(OrderStatus.Shipped);

            orderRepository.AddOrder(initialOrder);
            OrderApprovalRequest request = new OrderApprovalRequest {
                OrderId = 1, Approved = false
            };

            Action runAction = () => useCase.Run(request);

            Assert.Throws <ShippedOrdersCannotBeChangedException>(runAction);
        }
示例#8
0
        public void CannotRejectApprovedOrder()
        {
            var initialOrder = new Order {
                Status = OrderStatus.Approved, Id = 1
            };

            orderRepository.AddOrder(initialOrder);
            var request = new OrderApprovalRequest {
                OrderId = 1, Approved = false
            };

            Assert.Throws <ApprovedOrderCannotBeRejectedException>(() => useCase.Run(request));
        }
示例#9
0
        public void ApprovedExistingOrder()
        {
            var initialOrder = new Order {
                Status = OrderStatus.Created, Id = 1
            };

            orderRepository.AddOrder(initialOrder);
            var request = new OrderApprovalRequest {
                OrderId = 1, Approved = true
            };

            useCase.Run(request);

            Assert.AreEqual(orderRepository.SavedOrder.Status, OrderStatus.Approved);
        }
        public void shippedOrdersCannotBeApproved()
        {
            Order initialOrder = new Order();

            initialOrder.setStatus(OrderStatus.SHIPPED);
            initialOrder.setId(1);
            orderRepository.addOrder(initialOrder);

            OrderApprovalRequest request = new OrderApprovalRequest();

            request.setOrderId(1);
            request.setApproved(true);

            Assert.That(() => useCase.run(request),
                        Throws.TypeOf <ShippedOrdersCannotBeChangedException>());
        }
        public void cannotRejectApprovedOrder()
        {
            Order initialOrder = new Order();

            initialOrder.setStatus(OrderStatus.APPROVED);
            initialOrder.setId(1);
            orderRepository.addOrder(initialOrder);

            OrderApprovalRequest request = new OrderApprovalRequest();

            request.setOrderId(1);
            request.setApproved(false);

            Assert.That(() => useCase.run(request),
                        Throws.TypeOf <ApprovedOrderCannotBeRejectedException>());
        }
        public void CannotRejectApprovedOrder()
        {
            Order initialOrder = new Order();

            initialOrder.Status = OrderStatus.Approved;
            initialOrder.Id     = 1;
            orderRepository.AddOrder(initialOrder);

            OrderApprovalRequest request = new OrderApprovalRequest();

            request.OrderId  = 1;
            request.Approved = false;

            Action action = () => useCase.Run(request);

            action.Should().Throw <ApprovedOrderCannotBeRejectedException>();
            orderRepository.GetSavedOrder().Should().BeNull();
        }
        public void ShippedOrdersCannotBeApproved()
        {
            Order initialOrder = new Order();

            initialOrder.Status = OrderStatus.Shipped;
            initialOrder.Id     = 1;
            orderRepository.AddOrder(initialOrder);

            OrderApprovalRequest request = new OrderApprovalRequest();

            request.OrderId  = 1;
            request.Approved = true;

            Action action = () => useCase.Run(request);

            action.Should().Throw <ShippedOrdersCannotBeChangedException>();
            orderRepository.GetSavedOrder().Should().BeNull();
        }
        public void ShippedOrdersCannotBeRejected()
        {
            Order initialOrder = new Order();

            initialOrder.SetStatus(OrderStatus.Shipped);
            initialOrder.SetId(1);
            orderRepository.AddOrder(initialOrder);

            OrderApprovalRequest request = new OrderApprovalRequest();

            request.SetOrderId(1);
            request.SetApproved(false);

            Action act = () => useCase.Run(request);

            act.Should().Throw <ShippedOrdersCannotBeChangedException>();
            orderRepository.GetSavedOrder().Should().BeNull();
        }
示例#15
0
        public void CannotRejectApprovedOrder()
        {
            var initialOrder = new Order();

            initialOrder.Status = OrderStatus.APPROVED;
            initialOrder.Id     = 1;
            _orderRepository.AddOrder(initialOrder);

            var request = new OrderApprovalRequest();

            request.OrderId  = 1;
            request.Approved = false;

            Action act = () => _orderApproval.Handle(request);

            act.Should().Throw <ApprovedOrderCannotBeRejectedException>();
            _orderRepository.getLastSavedOrder().Should().BeNull();
        }
示例#16
0
        public void ShippedOrdersCannotBeApproved()
        {
            var initialOrder = new Order();

            initialOrder.Status = OrderStatus.SHIPPED;
            initialOrder.Id     = 1;
            _orderRepository.AddOrder(initialOrder);

            var request = new OrderApprovalRequest();

            request.OrderId  = 1;
            request.Approved = true;

            Action act = () => _orderApproval.Handle(request);

            act.Should().Throw <OrderCannotBeShippedTwiceException>();
            _orderRepository.getLastSavedOrder().Should().BeNull();
        }
示例#17
0
        public void RejectedExistingOrder()
        {
            var initialOrder = new Order();

            initialOrder.Status = OrderStatus.CREATED;
            initialOrder.Id     = 1;
            _orderRepository.AddOrder(initialOrder);

            var request = new OrderApprovalRequest();

            request.OrderId  = 1;
            request.Approved = false;

            _orderApproval.Handle(request);

            var savedOrder = _orderRepository.getLastSavedOrder();

            savedOrder.Status.Should().Be(OrderStatus.REJECTED);
        }
        public void RejectedExistingOrder()
        {
            Order initialOrder = new Order();

            initialOrder.SetStatus(OrderStatus.Created);
            initialOrder.SetId(1);
            orderRepository.AddOrder(initialOrder);

            OrderApprovalRequest request = new OrderApprovalRequest();

            request.SetOrderId(1);
            request.SetApproved(false);

            useCase.Run(request);

            Order savedOrder = orderRepository.GetSavedOrder();

            savedOrder.GetStatus().Should().Be(OrderStatus.Rejected);
        }
        public void RejectedExistingOrder()
        {
            Order initialOrder = new Order();

            initialOrder.Status = OrderStatus.Created;
            initialOrder.Id     = 1;
            orderRepository.AddOrder(initialOrder);

            OrderApprovalRequest request = new OrderApprovalRequest();

            request.OrderId  = 1;
            request.Approved = false;

            useCase.Run(request);

            Order savedOrder = orderRepository.GetSavedOrder();

            savedOrder.Status.Should().Be(OrderStatus.Rejected);
        }
        public void rejectedExistingOrder()
        {
            Order initialOrder = new Order();

            initialOrder.setStatus(OrderStatus.CREATED);
            initialOrder.setId(1);
            orderRepository.addOrder(initialOrder);

            OrderApprovalRequest request = new OrderApprovalRequest();

            request.setOrderId(1);
            request.setApproved(false);

            useCase.run(request);

            Order savedOrder = orderRepository.getSavedOrder();

            Assert.That(savedOrder.getStatus(), Is.EqualTo(OrderStatus.REJECTED));
        }
示例#21
0
        public void RejectedExistingOrder()
        {
            var initialOrder = new Order
            {
                Status = OrderStatus.Created,
                Id     = 1
            };

            _orderRepository.AddOrder(initialOrder);

            var request = new OrderApprovalRequest
            {
                OrderId  = 1,
                Approved = false
            };

            _useCase.Run(request);

            var savedOrder = _orderRepository.GetSavedOrder();

            Assert.Equal(OrderStatus.Rejected, savedOrder.Status);
        }
示例#22
0
        public void CannotApproveRejectedOrder()
        {
            var initialOrder = new Order
            {
                Status = OrderStatus.Rejected,
                Id     = 1
            };

            _orderRepository.AddOrder(initialOrder);

            var request = new OrderApprovalRequest
            {
                OrderId  = 1,
                Approved = true
            };


            Action actionToTest = () => _useCase.Run(request);

            Assert.Throws <RejectedOrderCannotBeApprovedException>(actionToTest);
            Assert.Null(_orderRepository.GetSavedOrder());
        }