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);
        }
Esempio n. 2
0
        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()));
        }