public async Task TestIfApplyFiltersFromUrlAppliesFiltersWithNull() { var context = PCHUBDbContextInMemoryInitializer.InitializeContext(); var productService = new ProductServices(context); await Assert.ThrowsAsync <NullReferenceException>(async() => { await productService.ApplyFiltersFromUrlAsync(null, null); }); }
public async Task TestIfApplyFiltersFromUrlAppliesFilters() { var context = PCHUBDbContextInMemoryInitializer.InitializeContext(); var productService = new ProductServices(context); var filterCategory = new List <FilterCategoryViewModel>(); var filtersPrice = new List <FilterViewModel>(); filtersPrice.Add(new FilterViewModel { Name = "MinPrice", }); filtersPrice.Add(new FilterViewModel { Name = "MaxPrice", }); filterCategory.Add(new FilterCategoryViewModel { CategoryName = "Laptops", ViewSubCategoryName = "Price", Filters = filtersPrice }); var filtersMake = new List <FilterViewModel>(); filtersMake.Add(new FilterViewModel { Name = "Make", Value = "Acer" }); filterCategory.Add(new FilterCategoryViewModel { CategoryName = "Laptops", ViewSubCategoryName = "Make", Filters = filtersMake }); var filtersOrderBy = new List <FilterViewModel>(); filtersOrderBy.Add(new FilterViewModel { Name = "Order By", Value = "Default" }); filterCategory.Add(new FilterCategoryViewModel { CategoryName = "Laptops", ViewSubCategoryName = "OrderBy", Filters = filtersOrderBy }); var urlFilters = new ProductFiltersUrlModel(); urlFilters.Page = 1; urlFilters.MinPrice = "300"; urlFilters.MaxPrice = "600"; urlFilters.Make = new string[] { "Acer", }; urlFilters.OrderBy = "Descending"; await productService.ApplyFiltersFromUrlAsync(filterCategory, urlFilters); var result = filterCategory.FirstOrDefault(x => x.CategoryName == "Laptops" && x.ViewSubCategoryName == "Price"); Assert.True(result.Filters.Any(x => x.Name == "MinPrice" && x.Value == "300")); Assert.True(result.Filters.Any(x => x.Name == "MaxPrice" && x.Value == "600")); var makeResult = filterCategory.FirstOrDefault(x => x.CategoryName == "Laptops" && x.ViewSubCategoryName == "Make"); Assert.NotNull(makeResult); Assert.True(makeResult.Filters.Any(x => x.IsChecked == true)); }