public void ShouldBeAbleToFilterResultsWithQueryParameterFilterName_Id() { Mock <LoggerFactory> loggerFactory = new Mock <LoggerFactory>(); var actionExecutedContext = BuildMockActionExecutedContext(new Dictionary <string, StringValues> { { "filter", "id" } }, new OkObjectResult(_data)); var resultsFilter = new ApiResultsFilter(loggerFactory.Object); resultsFilter.OnActionExecuted(actionExecutedContext); var result = actionExecutedContext.Result as OkObjectResult; var jsonArray = JArray.Parse(JsonConvert.SerializeObject(result.Value)); Assert.True(jsonArray.HasValues); foreach (var jToken in jsonArray.Children()) { var jsonObject = (JObject)jToken; Assert.Contains(jsonObject.Properties().ToList(), p => p.Name == "id"); Assert.Single(jsonObject.Properties().ToList()); } }
public void ShouldReturnEmptyResultSetWithFilterNamesOfPropertiesNotInResultSet() { Mock <LoggerFactory> loggerFactory = new Mock <LoggerFactory>(); var actionExecutedContext = BuildMockActionExecutedContext(new Dictionary <string, StringValues> { { "filter", "non" } }, new OkObjectResult(_data)); var resultsFilter = new ApiResultsFilter(loggerFactory.Object); resultsFilter.OnActionExecuted(actionExecutedContext); var result = actionExecutedContext.Result as OkObjectResult; var jsonArray = JArray.Parse(JsonConvert.SerializeObject(result.Value)); Assert.True(jsonArray.HasValues); foreach (var jToken in jsonArray.Children()) { var jsonObject = (JObject)jToken; Assert.Empty(jsonObject.Properties().ToList()); } }