public void FindOrdersInPageThrowArgumentExceptionWhenPageDataIsInvalid() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); //act var resultInvalidPageIndex = salesManagement.FindOrders(-1, 1); //Assert Assert.IsNull(resultInvalidPageIndex); }
public void FindOrdersWithInvalidPageIndexThrowException() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); //orderRepository.GetPagedInt32Int32ExpressionOfFuncOfOrderKPropertyBoolean<DateTime>( // (index, count, order, ascending) => { return new List<Order>(); }); orderRepository.GetPagedOf1Int32Int32ExpressionOfFuncOfOrderM0Boolean<DateTime>( FindOrdersWithInvalidPageIndexThrowException); var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); //act var result = salesManagement.FindOrders(-1, 1); }
public void FindOrdersInDateRangeReturnNullWhenNoData() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); orderRepository.AllMatchingISpecificationOfOrder = (spec) => { return new List<Order>(); }; var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); //act var result = salesManagement.FindOrders(DateTime.Now.AddDays(-2), DateTime.Now.AddDays(+2)); //Assert Assert.IsNull(result); }
public void FindOrdersInPageMaterializeResults() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); //orderRepository.GetPagedInt32Int32ExpressionOfFuncOfOrderKPropertyBoolean<DateTime>( // (index, count, order, ascending) => // { // var item = new Order(); // item.GenerateNewIdentity(); // item.SetTheCustomerReferenceForThisOrder(Guid.NewGuid()); // return new List<Order>() // { // item // }; // }); orderRepository.GetPagedOf1Int32Int32ExpressionOfFuncOfOrderM0Boolean<DateTime>( FindOrdersInPageMaterializeResults); var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); //act var result = salesManagement.FindOrders(0, 1); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Any()); }
public void FindOrdersInDateRangeMaterializeResults() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); orderRepository.AllMatchingISpecificationOfOrder = (spec) => { var order = new Order(); order.GenerateNewIdentity(); order.SetTheCustomerReferenceForThisOrder(Guid.NewGuid()); return new List<Order>() { order }; }; var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); //act var result = salesManagement.FindOrders(DateTime.Now.AddDays(-2), DateTime.Now.AddDays(-1)); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Any()); }
public void FindOrderReturnNullIfCustomerIdIsEmpty() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); orderRepository.GetFilteredExpressionOfFuncOfOrderBoolean = (expression) => null; var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); //act var result = salesManagement.FindOrders(Guid.Empty); //Assert Assert.IsNull(result); }
public void FindOrdersMaterializeResultsIfCustomerExist() { //Arrange var customerRepository = new StubICustomerRepository(); var productRepository = new StubIProductRepository(); var orderRepository = new StubIOrderRepository(); orderRepository.GetFilteredExpressionOfFuncOfOrderBoolean = (filter) => { var orders = new List<Order>(); var customer = new Customer(); customer.ChangeCurrentIdentity(Guid.NewGuid()); orders.Add(OrderFactory.CreateOrder(customer, "name", "city", "address", "zipcode")); return orders; }; var salesManagement = new SalesAppService(productRepository, orderRepository, customerRepository); //act var result = salesManagement.FindOrders(Guid.NewGuid()); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Count == 1); }
public void FindOrdersInPageReturnNullWhenPageDataIsInvalid() { //Arrange var adapter = PrepareTypeAdapter(); var customerRepository = new SICustomerRepository(); var productRepository = new SIProductRepository(); var orderRepository = new SIOrderRepository(); var salesManagement = new SalesAppService(adapter, productRepository, orderRepository,customerRepository); //act var resultInvalidPageIndex = salesManagement.FindOrders(-1, 1); var resultInvalidPageCount = salesManagement.FindOrders(0, 0); //Assert Assert.IsNull(resultInvalidPageIndex); Assert.IsNull(resultInvalidPageCount); }
public void FindOrdersInPageReturnNullWhenNoData() { //Arrange var adapter = PrepareTypeAdapter(); var customerRepository = new SICustomerRepository(); var productRepository = new SIProductRepository(); var orderRepository = new SIOrderRepository(); orderRepository.GetPagedInt32Int32ExpressionOfFuncOfOrderKPropertyBoolean<DateTime>((index, count, order, ascending) => { return new List<Order>(); }); var salesManagement = new SalesAppService(adapter, productRepository, orderRepository,customerRepository); //act var result = salesManagement.FindOrders(-1, 1); //Assert Assert.IsNull(result); }
public void FindOrdersInPageMaterializeResults() { //Arrange var adapter = PrepareTypeAdapter(); var customerRepository = new SICustomerRepository(); var productRepository = new SIProductRepository(); var orderRepository = new SIOrderRepository(); orderRepository.GetPagedInt32Int32ExpressionOfFuncOfOrderKPropertyBoolean<DateTime>((index, count, order, ascending) => { return new List<Order>() { new Order(){Id = Guid.NewGuid(),CustomerId = Guid.NewGuid()} }; }); var salesManagement = new SalesAppService(adapter, productRepository, orderRepository,customerRepository); //act var result = salesManagement.FindOrders(0, 1); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Any()); }
public void FindOrdersInDateRangeMaterializeResults() { //Arrange var adapter = PrepareTypeAdapter(); var customerRepository = new SICustomerRepository(); var productRepository = new SIProductRepository(); var orderRepository = new SIOrderRepository(); orderRepository.AllMatchingISpecificationOfOrder = (spec) => { return new List<Order>() { new Order(){Id = Guid.NewGuid(),CustomerId = Guid.NewGuid()} }; }; var salesManagement = new SalesAppService(adapter, productRepository, orderRepository,customerRepository); //act var result = salesManagement.FindOrders(DateTime.Now.AddDays(-2), DateTime.Now.AddDays(-1)); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Any()); }
public void FindOrderReturnNullIfCustomerIdIsEmpty() { //Arrange var adapter = PrepareTypeAdapter(); var customerRepository = new SICustomerRepository(); var productRepository = new SIProductRepository(); var orderRepository = new SIOrderRepository(); var salesManagement = new SalesAppService(adapter, productRepository, orderRepository,customerRepository); //act var result = salesManagement.FindOrders(Guid.Empty); //Assert Assert.IsNull(result); }