private bool ValidateFiltering(TestGrid grid, ColumnFilterValue value, Func <TestModel, bool> filterExpression) { var settingsMock = new Mock <IGridSettingsProvider>(); var filterSetting = new Mock <IGridFilterSettings>(); var filterCollection = new DefaultFilterColumnCollection { value }; filterSetting.Setup(t => t.FilteredColumns).Returns(filterCollection); filterSetting.Setup(t => t.IsInitState(_grid.Columns.First())).Returns(false); settingsMock.Setup(s => s.FilterSettings).Returns(filterSetting.Object); settingsMock.Setup(s => s.SortSettings).Returns(new QueryStringSortSettings(_query)); settingsMock.Setup(s => s.SearchSettings).Returns(new QueryStringSearchSettings(_query)); grid.Settings = settingsMock.Object; IEnumerable <TestModel> resultCollection = _grid.GetItemsToDisplay(); if (!resultCollection.Any()) { Assert.Fail("No items to compare"); } IEnumerable <TestModel> etalonCollection = _repo.GetAll().Where(filterExpression); if (!ValidateCollectionsTheSame(resultCollection, etalonCollection)) { return(false); } return(true); }
public void FilterPreventedWhenColumnNotFilterable() { var firstItem = _repo.GetAll().First(); var settings = MockFilterSetting("Title", firstItem.Title, GridFilterType.Equals); _grid.Columns.Add(x => x.Title, settings.ColumnName).Filterable(false); var settingsMock = new Mock <IGridSettingsProvider>(); var filterSetting = new Mock <IGridFilterSettings>(); var filterCollection = new DefaultFilterColumnCollection { settings }; filterSetting.Setup(t => t.FilteredColumns).Returns(filterCollection); filterSetting.Setup(t => t.IsInitState).Returns(false); settingsMock.Setup(s => s.FilterSettings).Returns(filterSetting.Object); settingsMock.Setup(s => s.SortSettings).Returns(new QueryStringSortSettings()); _grid.Settings = settingsMock.Object; var resultCollection = _grid.GetItemsToDisplay(); PAssert.IsTrue(() => resultCollection.SequenceEqual(_repo.GetAll())); }