public void PlaceOrder_ShouldInsertAnOrder_AndReturnTrue(string country, double expectedVat) { // Arrange. var customer = CustomerDataHelper.Add(GetCustomer(country)); var order = GetOrderDto(); var orderService = _container.Resolve <IOrderService>(); // Act. var result = orderService.PlaceOrder(order, customer.CustomerId); var insertedOrder = OrderDataHelper.GetOrder(order.OrderId); // Assert. Assert.IsTrue(result); Assert.IsNotNull(insertedOrder); Assert.AreEqual(customer.CustomerId, insertedOrder.CustomerId); Assert.AreEqual(order.OrderId, insertedOrder.OrderId); Assert.AreEqual(order.Amount, insertedOrder.Amount); Assert.AreEqual(expectedVat, insertedOrder.VAT); }
public void GetAllCustomersWithOrders_ShouldReturnCustomersAndOrders() { // Arrange. var customerOne = CustomerDataHelper.Add(GetCustomer("UK")); var orderOne = OrderDataHelper.AddOrder(GetOrder(customerOne.CustomerId)); var orderTwo = OrderDataHelper.AddOrder(GetOrder(customerOne.CustomerId)); var customerTwo = CustomerDataHelper.Add(GetCustomer("FR")); var orderThree = OrderDataHelper.AddOrder(GetOrder(customerTwo.CustomerId)); var customerOrderService = _container.Resolve <ICustomerOrderService>(); // Act. var results = customerOrderService.GetAllCustomerWithOrders(); var customerOneResult = results.First(c => c.Customer.CustomerId == customerOne.CustomerId); var customerTwoResult = results.First(c => c.Customer.CustomerId == customerTwo.CustomerId); // Assert. Assert.AreEqual(2, customerOneResult.Orders.Count()); Assert.AreEqual(1, customerTwoResult.Orders.Count()); Assert.IsTrue(customerOneResult.Orders.Any(o => o.OrderId == orderOne.OrderId)); Assert.IsTrue(customerOneResult.Orders.Any(o => o.OrderId == orderTwo.OrderId)); Assert.IsTrue(customerTwoResult.Orders.Any(o => o.OrderId == orderThree.OrderId)); }