public void GetFilters_ReturnsQueryableFilter_ForQueryableActions(string actionName) { var config = RoutingConfigurationFactory.Create(); HttpControllerDescriptor controllerDescriptor = new HttpControllerDescriptor(config, "FilterProviderTest", typeof(FilterProviderTestController)); HttpActionDescriptor actionDescriptor = new ReflectedHttpActionDescriptor(controllerDescriptor, typeof(FilterProviderTestController).GetMethod(actionName)); FilterInfo[] filters = new QueryFilterProvider(new EnableQueryAttribute()).GetFilters(config, actionDescriptor).ToArray(); Assert.Single(filters); Assert.Equal(FilterScope.Global, filters[0].Scope); EnableQueryAttribute filter = Assert.IsType <EnableQueryAttribute>(filters[0].Instance); }
/// <summary> /// Initializes a new instance of the <see cref="TableFilterProvider"/> using the provided <see cref="QueryableAttribute"/> /// implementation for executing the query. /// </summary> public TableFilterProvider(IActionFilter queryFilter) { if (queryFilter == null) { throw new ArgumentNullException("queryFilter"); } this.queryFilter = new QueryableAttribute() { PageSize = TableUtils.PageSize }; this.queryFilterProvider = new QueryFilterProvider(queryFilter); this.tableFilter = new FilterInfo(new TableQueryFilter(), FilterScope.Global); }