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"); }
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"); }
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"); }
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); }
public OrderController(Service.OrderService _orderService) { orderService = _orderService; }