public async Task <IEnumerable <Product> > GetSortedProducts(SortOrder sortOrder) { var products = await _client.GetProducts(); if (sortOrder != SortOrder.Recommended) { return(_sortService.SortProducts(products.ToList(), sortOrder)); } var orders = await _client.GetShopperHistory(); return(_sortService.SortProducts(products.ToList(), sortOrder, orders.ToList())); }
public async Task SortService_ProductResponse() { var lstProducts = new List <Product>() { new Product() { Name = "Test Product A", Price = 99.99M, Quantity = 0 }, new Product() { Name = "Test Product B", Price = 101.99M, Quantity = 0 }, new Product() { Name = "Test Product C", Price = 10.99M, Quantity = 0 }, new Product() { Name = "Test Product D", Price = 5, Quantity = 0 }, new Product() { Name = "Test Product F", Price = 999999999999, Quantity = 0 } }; _sortService.SortProducts("High").Returns(lstProducts); //act var response = await _sortService.SortProducts("High"); //assert Assert.AreEqual(5, response.Count); }
public IEnumerable <Models.Products> SortProducts(string sortOptions) { if (sortOptions.Equals(Constants.Recommended, StringComparison.OrdinalIgnoreCase)) { var customerProducts = _resourceService.GetShopperHistory(); return(_sortService.SortPreferredProducts(customerProducts)); } var products = _resourceService.GetProducts(); return(_sortService.SortProducts(sortOptions, products)); }
public async Task <IActionResult> Get(string sortOption) { try { var response = await _sortService.SortProducts(sortOption); return(Ok(response)); } catch (System.Exception ex) { logger.Error(ex, "Unable to retrieve the products"); return(new BadRequestResult()); } }