public void SearchOrdersWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow(); ordersRowA.OrderId = 1; ordersRowA.OrderName = "Order A's"; ordersRowA.Description = "Description A"; ordersRowA.Approver = "User"; ordersRowA.Creator = "User"; ordersRowA.OrderStatus = (int)OrderStatusEnum.Draft; ds.Orders.AddOrdersRow(ordersRowA); OrdersManagementDataSet.OrdersRow ordersRowB = ds.Orders.NewOrdersRow(); ordersRowB.OrderId = 2; ordersRowB.OrderName = "Order B"; ordersRowB.Description = "Description B"; ordersRowB.Approver = "User"; ordersRowB.Creator = "User"; ordersRowB.OrderStatus = (int)OrderStatusEnum.Draft; ds.Orders.AddOrdersRow(ordersRowB); ds.AcceptChanges(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ICollection <Order> orders = ordersService.SearchOrders("'"); Assert.AreEqual(1, orders.Count); IEnumerator <Order> enumerator = orders.GetEnumerator(); enumerator.Reset(); enumerator.MoveNext(); Assert.AreEqual(1, enumerator.Current.OrderId); }
public void SaveAsDraftWithExistingOrderUpdatesDetailsInRepository() { Order order = GetPopulatedOrder(); order.OrderId = 0; order.Details.Add(new OrderDetail(0, 10, 1, 1.99m)); OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, GetPopulatedProductService()); ordersService.SaveAsDraft(order); int orderID = order.OrderId; order = GetPopulatedOrder(); order.OrderId = orderID; order.Details.Add(new OrderDetail(0, 20, 3, 2.50m)); int detailsCount = order.Details.Count; ordersService.SaveAsDraft(order); Assert.AreEqual(detailsCount, ds.OrderDetails.Count); OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.FindByOrderIdProductId(order.OrderId, 20); Assert.IsNotNull(detailRow); Assert.AreEqual((short)3, detailRow.Quantity); OrdersManagementDataSet.OrderDetailsRow deletedDetailRow = ds.OrderDetails.FindByOrderIdProductId(order.OrderId, 10); Assert.IsNull(deletedDetailRow); }
public void DeleteRemovesOnlyExpectedOrderFromRepository() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow(); ordersRowA.OrderId = 3; ordersRowA.OrderName = "Order A"; ordersRowA.Description = "Description A"; ordersRowA.Approver = "User"; ordersRowA.Creator = "User"; ordersRowA.OrderStatus = (int)OrderStatusEnum.Draft; ds.Orders.AddOrdersRow(ordersRowA); OrdersManagementDataSet.OrdersRow ordersRowB = ds.Orders.NewOrdersRow(); ordersRowB.OrderId = 2; ordersRowB.OrderName = "Order B"; ordersRowB.Description = "Description B"; ordersRowB.Approver = "User"; ordersRowB.Creator = "User"; ordersRowB.OrderStatus = (int)OrderStatusEnum.Submitted; ds.Orders.AddOrdersRow(ordersRowB); ds.AcceptChanges(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ordersService.DeleteOrder(3); Assert.AreEqual(1, ds.Orders.Count); Assert.AreEqual(2, ds.Orders[0].OrderId); }
public void GetSavedDraftOrdersRetrievesOrdersWithDraftStatusAndForCurrentUser() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow(); ordersRow.Approver = "WhoCares"; ordersRow.Creator = "CurrentUser"; ordersRow.OrderName = "Test Order"; ordersRow.OrderStatus = (int)OrderStatusEnum.Draft; ds.Orders.AddOrdersRow(ordersRow); OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.NewOrderDetailsRow(); detailRow.OrdersRow = ordersRow; detailRow.ProductId = 11; detailRow.Quantity = 3; ds.OrderDetails.AddOrderDetailsRow(detailRow); ds.AcceptChanges(); FakeProductService productService = new FakeProductService(); productService.Products.Add(new Product(11, null, null, 2.99m, null)); OrdersService ordersService = new OrdersService(ds, productService); IList <Order> orders = ordersService.GetSavedDraftOrders("CurrentUser"); Assert.IsNotNull(orders); Assert.AreEqual(1, orders.Count); Order order = orders[0]; Assert.AreEqual("Test Order", order.OrderName); Assert.IsNotNull(order); Assert.AreEqual(1, order.Details.Count); Assert.AreEqual((short)3, order.Details[0].Quantity); Assert.AreEqual(2.99m, order.Details[0].UnitPrice); }
public void SearchOrderThrowsArgumentExceptionWhenStartOrderIndexIsTooLarge() { OrdersManagementDataSet ds = InitOrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); int ordersTotalCount; ICollection <Order> foundOrders = ordersService.SearchOrders("Order", 4, int.MaxValue, out ordersTotalCount); }
public void ShouldNotGetNotExistingEmployee() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); EmployeeService employeeService = new EmployeeService(ds); Employee employee = employeeService.GetEmployeeById("11"); Assert.IsNull(employee); }
public void GetOrderWithDetailsReturnsNullWhenOrderNotExists() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); Order order = ordersService.GetOrderWithDetails(0); Assert.IsNull(order); }
public void GetCustomerByNameReturnsNullWithNoMatch() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); CustomerService customerService = new CustomerService(ds); Customer customer = customerService.GetCustomerByName("No Match"); Assert.IsNull(customer); }
public void GetCustomersByNamePrefixReturnsEmptyListWhenNoMatchesFound() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); CustomerService customerService = new CustomerService(ds); ICollection <Customer> customers = customerService.GetCustomersByNamePrefix("No Match"); Assert.IsNotNull(customers); Assert.AreEqual(0, customers.Count); }
public void GetProductBySkuWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet _dataset = new OrdersManagementDataSet(); ProductService _service = new ProductService(_dataset); OrdersManagementDataSet.ProductsRow _product = _dataset.Products.AddProductsRow("Product A", "1234-56'89", "Description of Product A", 1.00m); _dataset.Products.AddProductsRow("Product B", "2222-33333", "Description of Product B", 1.00m); Product _foundProduct = _service.GetProductBySku("1234-56'89"); Assert.AreEqual(_product.ProductId, _foundProduct.ProductId); }
public void SaveAsDraftAssignsIDWhenNotAssignded() { Order order = GetPopulatedOrder(); order.OrderId = 0; OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ordersService.SaveAsDraft(order); Assert.AreNotEqual(0, order.OrderId); }
public void ShouldReturnNullWhenSkuNotExists() { OrdersManagementDataSet _dataset = new OrdersManagementDataSet(); ProductService _service = new ProductService(_dataset); _dataset.Products.AddProductsRow("Product A", "1234-56789", "Description of Product A", 1.00m); _dataset.Products.AddProductsRow("Product B", "2222-33333", "Description of Product B", 1.00m); Product _foundProduct = _service.GetProductBySku("0000-00000"); Assert.IsNull(_foundProduct); }
public void ShouldGetProductBySku() { OrdersManagementDataSet _dataset = new OrdersManagementDataSet(); ProductService _service = new ProductService(_dataset); OrdersManagementDataSet.ProductsRow _product = _dataset.Products.AddProductsRow("Product A", "1234-56789", "Description of Product A", 1.00m); _dataset.Products.AddProductsRow("Product B", "2222-33333", "Description of Product B", 1.00m); Product _foundProduct = _service.GetProductBySku("1234-56789"); Assert.AreEqual(_product.ProductId, _foundProduct.ProductId); }
private void AddCustomer(OrdersManagementDataSet ds, string customerId, string companyName) { OrdersManagementDataSet.CustomersRow row = ds.Customers.NewCustomersRow(); row.CustomerId = customerId; row.CompanyName = companyName; row.City = string.Empty; row.Region = string.Empty; row.PostalCode = string.Empty; row.Address = string.Empty; ds.Customers.AddCustomersRow(row); ds.AcceptChanges(); }
private void AddCustomer(OrdersManagementDataSet ds, string customerId, string companyName, string city, string state, string zipCode, string address) { OrdersManagementDataSet.CustomersRow row = ds.Customers.NewCustomersRow(); row.CustomerId = customerId; row.CompanyName = companyName; row.City = city; row.Region = state; row.PostalCode = zipCode; row.Address = address; ds.Customers.AddCustomersRow(row); ds.AcceptChanges(); }
public void GetCustomersByIDWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "21", "The Store"); AddCustomer(ds, "2'2", "These Cheeses"); CustomerService customerService = new CustomerService(ds); Customer customer = customerService.GetCustomerById("2'2"); Assert.IsNotNull(customer); Assert.AreEqual("These Cheeses", customer.CompanyName); }
public void GetCustomersByIDReturnsCustomer() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "21", "The Store"); AddCustomer(ds, "22", "These Cheeses"); CustomerService customerService = new CustomerService(ds); Customer customer = customerService.GetCustomerById("22"); Assert.IsNotNull(customer); Assert.AreEqual("These Cheeses", customer.CompanyName); }
public void GetCustomerByNameWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "21", "The Store"); AddCustomer(ds, "22", "These' Cheeses"); AddCustomer(ds, "23", "These Cheeses International"); CustomerService customerService = new CustomerService(ds); Customer customer = customerService.GetCustomerByName("These' Cheeses"); Assert.IsNotNull(customer); Assert.AreEqual("22", customer.CustomerId); }
public void GetCustomerByNameMatchesExactName() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "21", "The Store"); AddCustomer(ds, "22", "These Cheeses"); AddCustomer(ds, "23", "These Cheeses International"); CustomerService customerService = new CustomerService(ds); Customer customer = customerService.GetCustomerByName("These Cheeses"); Assert.IsNotNull(customer); Assert.AreEqual("22", customer.CustomerId); }
public void SearchOrdersDoesALikeMatch() { OrdersManagementDataSet ds = InitOrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ICollection <Order> foundOrders = ordersService.SearchOrders("Description"); List <Order> searchableList = new List <Order>(foundOrders); Assert.AreEqual(2, foundOrders.Count); Assert.IsTrue(searchableList.Exists(delegate(Order order) { return(order.OrderId == 1); })); Assert.IsTrue(searchableList.Exists(delegate(Order order) { return(order.OrderId == 2); })); Assert.IsFalse(searchableList.Exists(delegate(Order order) { return(order.OrderId == 3); })); }
public void ShouldGetAllApprovers() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); ds.Employees.AddEmployeesRow("jblack", "Black", "Joe"); ds.Employees.AddEmployeesRow("a-jdoe", "Doe", "John"); ds.AcceptChanges(); EmployeeService employeeService = new EmployeeService(ds); List<Employee> employees = new List<Employee>(employeeService.AllApprovers); Assert.IsNotNull(employees); Assert.AreEqual(1, employees.Count); Assert.AreEqual("a-jdoe", employees[0].EmployeeId); Assert.AreEqual("Doe", employees[0].LastName); }
public void SearchCustomersReturnsEmptyListWhenNoMatches() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company A"); AddCustomer(ds, "11", "Company B"); AddCustomer(ds, "12", "Company C"); CustomerService customerService = new CustomerService(ds); IList <Customer> customers = customerService.SearchCustomers("None", string.Empty, string.Empty, string.Empty, string.Empty); Assert.IsNotNull(customers); Assert.AreEqual(0, customers.Count); }
public void ShouldGetEmployeeById() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); ds.Employees.AddEmployeesRow("11", "Black", "Joe"); ds.Employees.AddEmployeesRow("12", "Doe", "John"); ds.AcceptChanges(); EmployeeService employeeService = new EmployeeService(ds); Employee employee = employeeService.GetEmployeeById("11"); Assert.IsNotNull(employee); Assert.AreEqual("11", employee.EmployeeId); Assert.AreEqual("Black", employee.LastName); }
public void SearchCustomersMatchesPartialCompanyName() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company A"); AddCustomer(ds, "11", "Company B"); AddCustomer(ds, "12", "Company C"); CustomerService customerService = new CustomerService(ds); IList <Customer> customers = customerService.SearchCustomers("mp", string.Empty, string.Empty, string.Empty, string.Empty); Assert.IsNotNull(customers); Assert.AreEqual(3, customers.Count); }
public void SearchCustomersWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company' A", "City' A", "State' A", "ZipCode' A", "Address' A"); AddCustomer(ds, "11", "Company B", "City B", "State B", "ZipCode B", "Address B"); AddCustomer(ds, "12", "Company C", "City C", "State C", "ZipCode C", "Address C"); CustomerService customerService = new CustomerService(ds); IList <Customer> customers = customerService.SearchCustomers("Company' A", "City' A", "State' A", "ZipCode' A", "Address' A"); Assert.IsNotNull(customers); Assert.AreEqual(1, customers.Count); Assert.AreEqual("10", customers[0].CustomerId); }
public void SearchCustomersMatchesExactZip() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company A", string.Empty, string.Empty, "ZipCode A", string.Empty); AddCustomer(ds, "11", "Company B", string.Empty, string.Empty, "ZipCode B", string.Empty); AddCustomer(ds, "12", "Company C", string.Empty, string.Empty, "ZipCode A", string.Empty); CustomerService customerService = new CustomerService(ds); IList <Customer> customers = customerService.SearchCustomers(string.Empty, string.Empty, string.Empty, "ZipCode B", string.Empty); Assert.IsNotNull(customers); Assert.AreEqual(1, customers.Count); Assert.AreEqual("11", customers[0].CustomerId); }
public void SearchCustomersMatchesAllParameters() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company A", "City A", "State A", "ZipCode A", "Address A"); AddCustomer(ds, "11", "Company B", "City B", "State B", "ZipCode B", "Address B"); AddCustomer(ds, "12", "Company C", "City C", "State C", "ZipCode C", "Address C"); CustomerService customerService = new CustomerService(ds); IList <Customer> customers = customerService.SearchCustomers("Company A", "City A", "State A", "ZipCode A", "Address A"); Assert.IsNotNull(customers); Assert.AreEqual(1, customers.Count); Assert.AreEqual("10", customers[0].CustomerId); }
public void ShouldSearchProductsWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet _dataset = new OrdersManagementDataSet(); ProductService _service = new ProductService(_dataset); _dataset.Products.AddProductsRow("Product'A", "1234-56789", "Description of Product A", 1.00m); _dataset.Products.AddProductsRow("Product Another'A ", "9876-54321", "Description of the second Product A", 1.00m); _dataset.Products.AddProductsRow("Product Name'B", "2222-33333", "Description of Product B", 1.00m); ICollection <Product> _foundProducts = _service.SearchProducts("'A"); List <Product> searchableList = new List <Product>(_foundProducts); Assert.AreEqual(2, _foundProducts.Count); Assert.IsTrue(searchableList.Exists(delegate(Product product) { return(product.ProductSku == "1234-56789"); })); Assert.IsTrue(searchableList.Exists(delegate(Product product) { return(product.ProductSku == "9876-54321"); })); }
public void ShouldGetAllApprovers() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); ds.Employees.AddEmployeesRow("jblack", "Black", "Joe"); ds.Employees.AddEmployeesRow("a-jdoe", "Doe", "John"); ds.AcceptChanges(); EmployeeService employeeService = new EmployeeService(ds); List <Employee> employees = new List <Employee>(employeeService.AllApprovers); Assert.IsNotNull(employees); Assert.AreEqual(1, employees.Count); Assert.AreEqual("a-jdoe", employees[0].EmployeeId); Assert.AreEqual("Doe", employees[0].LastName); }
public void SearchOrderNotExceedMaximumOrdersCount() { OrdersManagementDataSet ds = InitOrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); int ordersTotalCount; ICollection <Order> foundOrders = ordersService.SearchOrders("Order", 0, 2, out ordersTotalCount); Assert.AreEqual(3, ordersTotalCount); Assert.AreEqual(2, foundOrders.Count); List <Order> searchableList = new List <Order>(foundOrders); Assert.IsTrue(searchableList.Exists(delegate(Order order) { return(order.OrderId == 1); })); Assert.IsTrue(searchableList.Exists(delegate(Order order) { return(order.OrderId == 2); })); Assert.IsFalse(searchableList.Exists(delegate(Order order) { return(order.OrderId == 3); })); }
public void ShouldSearchProductsBySku() { OrdersManagementDataSet _dataset = new OrdersManagementDataSet(); ProductService _service = new ProductService(_dataset); _dataset.Products.AddProductsRow("Product NameA", "1234-56789", "Description of Product A", 1.00m); _dataset.Products.AddProductsRow("Product Another NameA ", "1234-11111", "Description of the second Product A", 1.00m); _dataset.Products.AddProductsRow("Product NameB", "2222-33333", "Description of Product B", 1.00m); ICollection <Product> _foundProducts = _service.SearchProducts("1234"); List <Product> searchableList = new List <Product>(_foundProducts); Assert.AreEqual(2, _foundProducts.Count); Assert.IsTrue(searchableList.Exists(delegate(Product product) { return(product.ProductSku == "1234-56789"); })); Assert.IsTrue(searchableList.Exists(delegate(Product product) { return(product.ProductSku == "1234-11111"); })); }
public void CanReadAllCustomerProperties() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.CustomersRow row = ds.Customers.NewCustomersRow(); row.CustomerId = "42"; row.Address = "My Address"; row.City = "My City"; row.CompanyName = "My Company"; row.PostalCode = "12345"; row.Region = "My Region"; ds.Customers.AddCustomersRow(row); ds.Customers.AcceptChanges(); CustomerService customerService = new CustomerService(ds); Customer customer = customerService.GetCustomerById("42"); Assert.IsNotNull(customer); Assert.AreEqual("My Address", customer.Address); Assert.AreEqual("My City", customer.City); Assert.AreEqual("My Company", customer.CompanyName); Assert.AreEqual("12345", customer.PostalCode); Assert.AreEqual("My Region", customer.Region); }
public void GetCustomersByNamePrefixReturnsEmptyListWhenNoMatchesFound() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); CustomerService customerService = new CustomerService(ds); ICollection<Customer> customers = customerService.GetCustomersByNamePrefix("No Match"); Assert.IsNotNull(customers); Assert.AreEqual(0, customers.Count); }
public void SearchOrdersRetrievesOrdersByName() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow(); ordersRowA.OrderId = 1; ordersRowA.OrderName = "OrderA"; ordersRowA.Description = string.Empty; ordersRowA.Approver = "User"; ordersRowA.Creator = "User"; ordersRowA.OrderStatus = (int)OrderStatusEnum.Submitted; ds.Orders.AddOrdersRow(ordersRowA); OrdersManagementDataSet.OrdersRow ordersRowB = ds.Orders.NewOrdersRow(); ordersRowB.OrderId = 2; ordersRowB.OrderName = "OrderB"; ordersRowB.Description = string.Empty; ordersRowB.Approver = "User"; ordersRowB.Creator = "User"; ordersRowB.OrderStatus = (int)OrderStatusEnum.Submitted; ds.Orders.AddOrdersRow(ordersRowB); ds.AcceptChanges(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ICollection<Order> foundOrders = ordersService.SearchOrders("OrderA"); Assert.AreEqual(1, foundOrders.Count); IEnumerator<Order> enumerator = foundOrders.GetEnumerator(); enumerator.Reset(); enumerator.MoveNext(); Assert.AreEqual(1, enumerator.Current.OrderId); }
public void SearchCustomersWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company' A", "City' A", "State' A", "ZipCode' A", "Address' A"); AddCustomer(ds, "11", "Company B", "City B", "State B", "ZipCode B", "Address B"); AddCustomer(ds, "12", "Company C", "City C", "State C", "ZipCode C", "Address C"); CustomerService customerService = new CustomerService(ds); IList<Customer> customers = customerService.SearchCustomers("Company' A", "City' A", "State' A", "ZipCode' A", "Address' A"); Assert.IsNotNull(customers); Assert.AreEqual(1, customers.Count); Assert.AreEqual("10", customers[0].CustomerId); }
public void SearchCustomersMatchesAllParameters() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company A", "City A", "State A", "ZipCode A", "Address A"); AddCustomer(ds, "11", "Company B", "City B", "State B", "ZipCode B", "Address B"); AddCustomer(ds, "12", "Company C", "City C", "State C", "ZipCode C", "Address C"); CustomerService customerService = new CustomerService(ds); IList<Customer> customers = customerService.SearchCustomers("Company A", "City A", "State A", "ZipCode A", "Address A"); Assert.IsNotNull(customers); Assert.AreEqual(1, customers.Count); Assert.AreEqual("10", customers[0].CustomerId); }
public void SearchCustomersMatchesPartialCompanyName() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company A"); AddCustomer(ds, "11", "Company B"); AddCustomer(ds, "12", "Company C"); CustomerService customerService = new CustomerService(ds); IList<Customer> customers = customerService.SearchCustomers("mp", string.Empty, string.Empty, string.Empty, string.Empty); Assert.IsNotNull(customers); Assert.AreEqual(3, customers.Count); }
public void GetCustomerByIdReturnsNullWithNoMatch() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); CustomerService customerService = new CustomerService(ds); Customer customer = customerService.GetCustomerById("12345"); Assert.IsNull(customer); }
private static OrdersManagementDataSet InitOrdersManagementDataSet() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow(); ordersRowA.OrderId = 1; ordersRowA.OrderName = "Order A"; ordersRowA.Description = "Description A"; ordersRowA.Approver = "User"; ordersRowA.Creator = "User"; ordersRowA.OrderStatus = (int)OrderStatusEnum.Submitted; ds.Orders.AddOrdersRow(ordersRowA); OrdersManagementDataSet.OrdersRow ordersRowB = ds.Orders.NewOrdersRow(); ordersRowB.OrderId = 2; ordersRowB.OrderName = "Order B"; ordersRowB.Description = "Description B"; ordersRowB.Approver = "User"; ordersRowB.Creator = "User"; ordersRowB.OrderStatus = (int)OrderStatusEnum.Submitted; ds.Orders.AddOrdersRow(ordersRowB); OrdersManagementDataSet.OrdersRow ordersRowC = ds.Orders.NewOrdersRow(); ordersRowC.OrderId = 3; ordersRowC.OrderName = "Order C"; ordersRowC.Description = "C"; ordersRowC.Approver = "User"; ordersRowC.Creator = "User"; ordersRowC.OrderStatus = (int)OrderStatusEnum.Submitted; ds.Orders.AddOrdersRow(ordersRowC); ds.AcceptChanges(); return ds; }
public void GetSavedDraftOrdersRetrievesOrdersWithDraftStatusAndForCurrentUser() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow(); ordersRow.Approver = "WhoCares"; ordersRow.Creator = "CurrentUser"; ordersRow.OrderName = "Test Order"; ordersRow.OrderStatus = (int)OrderStatusEnum.Draft; ds.Orders.AddOrdersRow(ordersRow); OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.NewOrderDetailsRow(); detailRow.OrdersRow = ordersRow; detailRow.ProductId = 11; detailRow.Quantity = 3; ds.OrderDetails.AddOrderDetailsRow(detailRow); ds.AcceptChanges(); FakeProductService productService = new FakeProductService(); productService.Products.Add(new Product(11, null, null, 2.99m, null)); OrdersService ordersService = new OrdersService(ds, productService); IList<Order> orders = ordersService.GetSavedDraftOrders("CurrentUser"); Assert.IsNotNull(orders); Assert.AreEqual(1, orders.Count); Order order = orders[0]; Assert.AreEqual("Test Order", order.OrderName); Assert.IsNotNull(order); Assert.AreEqual(1, order.Details.Count); Assert.AreEqual((short)3, order.Details[0].Quantity); Assert.AreEqual(2.99m, order.Details[0].UnitPrice); }
public void GetSavedDraftOrdersDoesNotRetrieveOrdersWithoutDraftStatus() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow(); ordersRow.Approver = "WhoCares"; ordersRow.Creator = "CurrentUser"; ordersRow.OrderStatus = (int)OrderStatusEnum.Submitted; ds.Orders.AddOrdersRow(ordersRow); ordersRow = ds.Orders.NewOrdersRow(); ordersRow.Approver = "WhoCares"; ordersRow.Creator = "CurrentUser"; ordersRow.OrderStatus = (int)OrderStatusEnum.Approved; ds.Orders.AddOrdersRow(ordersRow); ds.AcceptChanges(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); IList<Order> orders = ordersService.GetSavedDraftOrders("CurrentUser"); Assert.IsNotNull(orders); Assert.AreEqual(0, orders.Count); }
public void SaveAsDraftCanStoreOrderWithoutDetailsInRepository() { Order order = new Order(); order.OrderId = 0; order.Approver = "11"; order.Creator = "11"; order.Details = null; OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ordersService.SaveAsDraft(order); OrdersManagementDataSet.OrdersRow row = ds.Orders.FindByOrderId(order.OrderId); Assert.IsNotNull(row); Assert.AreEqual(1, ds.Orders.Count); }
public void SearchOrdersWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow(); ordersRowA.OrderId = 1; ordersRowA.OrderName = "Order A's"; ordersRowA.Description = "Description A"; ordersRowA.Approver = "User"; ordersRowA.Creator = "User"; ordersRowA.OrderStatus = (int)OrderStatusEnum.Draft; ds.Orders.AddOrdersRow(ordersRowA); OrdersManagementDataSet.OrdersRow ordersRowB = ds.Orders.NewOrdersRow(); ordersRowB.OrderId = 2; ordersRowB.OrderName = "Order B"; ordersRowB.Description = "Description B"; ordersRowB.Approver = "User"; ordersRowB.Creator = "User"; ordersRowB.OrderStatus = (int)OrderStatusEnum.Draft; ds.Orders.AddOrdersRow(ordersRowB); ds.AcceptChanges(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ICollection<Order> orders = ordersService.SearchOrders("'"); Assert.AreEqual(1, orders.Count); IEnumerator<Order> enumerator = orders.GetEnumerator(); enumerator.Reset(); enumerator.MoveNext(); Assert.AreEqual(1, enumerator.Current.OrderId); }
public void GetCustomersByNamePrefixWithQuotesSearchesCorrectlyAndPreventsInjection() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "21", "The Store"); AddCustomer(ds, "22", "The'se Cheeses"); AddCustomer(ds, "23", "The'se Cheeses International"); CustomerService customerService = new CustomerService(ds); ICollection<Customer> customers = customerService.GetCustomersByNamePrefix("THE'S"); Assert.IsNotNull(customers); Assert.AreEqual(2, customers.Count); List<Customer> searchableList = new List<Customer>(customers); Assert.IsNotNull(searchableList.Exists(delegate(Customer customer) { return customer.CustomerId == "22"; })); Assert.IsNotNull(searchableList.Exists(delegate(Customer customer) { return customer.CustomerId == "23"; })); }
public void SubmitOrderAddsOrderDetails() { Order order = GetPopulatedOrder(); order.OrderId = 0; OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); order.Details.Add(new OrderDetail(0, 10, 1, 1.99m)); int detailsCount = order.Details.Count; ordersService.SaveAsDraft(order); Assert.AreEqual(detailsCount, ds.OrderDetails.Count); OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.FindByOrderIdProductId(order.OrderId, 10); Assert.IsNotNull(detailRow); Assert.AreEqual((short)1, detailRow.Quantity); }
public void SearchCustomersMarchesExactStateAndPartialCompanyName() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Corp A", string.Empty, "State A", string.Empty, string.Empty); AddCustomer(ds, "11", "Company B", string.Empty, "State A", string.Empty, string.Empty); AddCustomer(ds, "12", "Corp B", string.Empty, "State A", string.Empty, string.Empty); CustomerService customerService = new CustomerService(ds); IList<Customer> customers = customerService.SearchCustomers("Corp", string.Empty, "State A", string.Empty, string.Empty); Assert.IsNotNull(customers); Assert.AreEqual(2, customers.Count); Assert.AreEqual("10", customers[0].CustomerId); Assert.AreEqual("12", customers[1].CustomerId); }
public void SearchCustomersMatchesExactZip() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company A", string.Empty, string.Empty, "ZipCode A", string.Empty); AddCustomer(ds, "11", "Company B", string.Empty, string.Empty, "ZipCode B", string.Empty); AddCustomer(ds, "12", "Company C", string.Empty, string.Empty, "ZipCode A", string.Empty); CustomerService customerService = new CustomerService(ds); IList<Customer> customers = customerService.SearchCustomers(string.Empty, string.Empty, string.Empty, "ZipCode B", string.Empty); Assert.IsNotNull(customers); Assert.AreEqual(1, customers.Count); Assert.AreEqual("11", customers[0].CustomerId); }
public void SubmitOrderAssignsIDWhenNotAssignded() { Order order = GetPopulatedOrder(); order.OrderId = 0; OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ordersService.SubmitOrder(order); Assert.AreNotEqual(0, order.OrderId); }
public void SearchCustomersReturnsEmptyListWhenNoMatches() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); AddCustomer(ds, "10", "Company A"); AddCustomer(ds, "11", "Company B"); AddCustomer(ds, "12", "Company C"); CustomerService customerService = new CustomerService(ds); IList<Customer> customers = customerService.SearchCustomers("None", string.Empty, string.Empty, string.Empty, string.Empty); Assert.IsNotNull(customers); Assert.AreEqual(0, customers.Count); }
public void GetSavedDraftOrdersDoesNotRetrieveOrderForApproversWhoAreNotTheCurrentLoggedInOne() { OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow(); ordersRow.Approver = "DifferentWhoCares"; ordersRow.Creator = "DifferentUser"; ordersRow.OrderStatus = (int)OrderStatusEnum.Draft; ds.Orders.AddOrdersRow(ordersRow); ds.AcceptChanges(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); IList<Order> orders = ordersService.GetOrdersForApprover("CurrentUser"); Assert.IsNotNull(orders); Assert.AreEqual(0, orders.Count); }
public void SaveAsDraftWithExistingOrderUpdatesRepository() { Order order = GetPopulatedOrder(); order.OrderId = 0; OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, GetPopulatedProductService()); ordersService.SaveAsDraft(order); int orderID = order.OrderId; order = GetPopulatedOrder(); order.OrderId = orderID; order.OrderName = "MyNewName"; ordersService.SaveAsDraft(order); OrdersManagementDataSet.OrdersRow row = ds.Orders.FindByOrderId(orderID); Assert.IsNotNull(row); Assert.AreEqual("MyNewName", row.OrderName); Assert.AreEqual(1, ds.Orders.Count); }
public void SubmitOrderStoresOrderInRepository() { Order order = GetPopulatedOrder(); order.OrderId = 0; OrdersManagementDataSet ds = new OrdersManagementDataSet(); OrdersService ordersService = new OrdersService(ds, new FakeProductService()); ordersService.SubmitOrder(order); OrdersManagementDataSet.OrdersRow row = ds.Orders.FindByOrderId(order.OrderId); Assert.IsNotNull(row); Assert.AreEqual(1, ds.Orders.Count); Assert.AreEqual(order.OrderName, row.OrderName); Assert.AreEqual(order.CustomerId, row.CustomerId); Assert.AreEqual(order.Description, row.Description); Assert.AreEqual(order.Approver, row.Approver); Assert.AreEqual(order.OrderStatus, row.OrderStatus); Assert.AreEqual(order.ShipAddress, row.ShipAddress); Assert.AreEqual(order.ShipCity, row.ShipCity); Assert.AreEqual(order.ShipPostalCode, row.ShipPostalCode); Assert.AreEqual(order.ShipRegion, row.ShipRegion); }