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