Beispiel #1
0
        public async Task Place_Order_With_No_Amount_Failure()
        {
            var mockOrderRepo    = new Mock <IOrderRepository>();
            var mockCustomerRepo = new Mock <ICustomerRepository>();

            mockOrderRepo.Setup(or => or.SaveAsync(It.IsAny <Order>()));
            mockCustomerRepo.Setup(cr => cr.GetCustomerAsync(It.IsAny <int>())).Returns(Task.Run(() => new Customer()));
            var orderService = new Service.OrderService(mockOrderRepo.Object, mockCustomerRepo.Object);
            var order        = new Order(1, 0, 0.15);

            var result = await orderService.PlaceOrderAsync(order, 3);

            Assert.False(result, "Fail due to zero amount");
        }
Beispiel #2
0
        public async Task Place_Order_With_No_Customer_Failure()
        {
            var mockOrderRepo    = new Mock <IOrderRepository>();
            var mockCustomerRepo = new Mock <ICustomerRepository>();

            mockOrderRepo.Setup(or => or.SaveAsync(It.IsAny <Order>()));
            mockCustomerRepo.Setup(cr => cr.GetCustomerAsync(It.Is <int>(id => id == -1)));
            var orderService = new Service.OrderService(mockOrderRepo.Object, mockCustomerRepo.Object);

            var order  = new Order(1, 100, 0.15);
            var result = await orderService.PlaceOrderAsync(order, -1);

            Assert.False(result, "no customer provided, should fail");
        }
Beispiel #3
0
        public async Task PlaceOrder_Successfully()
        {
            var mockOrderRepo    = new Mock <IOrderRepository>();
            var mockCustomerRepo = new Mock <ICustomerRepository>();

            mockOrderRepo.Setup(or => or.SaveAsync(It.Is <Order>(o => o == null))).Throws <System.NullReferenceException>();
            mockCustomerRepo.Setup(cr => cr.GetCustomerAsync(It.IsAny <int>())).Returns(Task.Run(() => new Customer()));
            var orderService = new Service.OrderService(mockOrderRepo.Object, mockCustomerRepo.Object);
            var order        = new Order(1, 100, 0.15);

            var result = await orderService.PlaceOrderAsync(order, 1);

            Assert.True(result, "Should save successfully");
        }
Beispiel #4
0
        public async Task Place_Order_For_Non_UK_Customers()
        {
            var saCustomer = new Customer
            {
                Country    = "SA",
                CustomerId = 3
            };
            var mockOrderRepo    = new Mock <IOrderRepository>();
            var mockCustomerRepo = new Mock <ICustomerRepository>();

            mockOrderRepo.Setup(or => or.SaveAsync(It.IsAny <Order>()));
            mockCustomerRepo.Setup(cr => cr.GetCustomerAsync(It.IsAny <int>())).ReturnsAsync(saCustomer);
            var orderService = new Service.OrderService(mockOrderRepo.Object, mockCustomerRepo.Object);
            var order        = new Order(1, 100, 0.15);

            var result = await orderService.PlaceOrderAsync(order, 3);

            Assert.True(result, "Should save successfully");
            Assert.Equal(0, order.Vat);
        }
Beispiel #5
0
 public OrderController(Service.OrderService _orderService)
 {
     orderService = _orderService;
 }