public void WHEN_json_filter_is_effectively_empty_THEN_empty_list_returned( string json) { var document = JsonDocument.Parse(json); var filters = JsonFilterReader.ReadFilterConfigurations(document.RootElement); filters.Should().NotBeNull(); filters.Should().HaveCount(0); }
public void WHEN_json_filter_contains_source_THEN_source_is_mapped() { var fullPath = Path.Combine(_testFilePath, "filter_with_basic_source.json"); var jsonText = File.ReadAllText(fullPath); var filtersTestObject = new JsonFilterTestObject { Filters = jsonText }; var document = JsonDocument.Parse(JsonSerializer.Serialize(filtersTestObject)); var filterElement = document.RootElement.GetProperty(ReportLayoutDocument.Filters); var filters = JsonFilterReader.ReadFilterConfigurations(filterElement); filters.Should().HaveCount(1); filters[0].Name.Should().Be("Filter1"); filters[0].SourceEntity.Should().Be("TableName"); filters[0].SourceProperty.Should().Be("FieldName"); }
public void WHEN_json_filter_contains_or_condition_THEN_correct_types_are_returned() { var fullPath = Path.Combine(_testFilePath, "advanced__or__filter.json"); var jsonText = File.ReadAllText(fullPath); var filtersTestObject = new JsonFilterTestObject { Filters = jsonText }; var document = JsonDocument.Parse(JsonSerializer.Serialize(filtersTestObject)); var filterElement = document.RootElement.GetProperty(ReportLayoutDocument.Filters); var filters = JsonFilterReader.ReadFilterConfigurations(filterElement); filters.Should().NotBeNull(); filters.First().FilterType.Should().Be(FilterType.IsLessThan); filters.First().SecondaryFilterType.Should().Be(FilterType.IsGreaterThan); filters.First().SecondaryFilterCondition.Should().Be(SecondaryFilterCondition.Or); }
public void WHEN_json_filter_contains_multiple_items_THEN_full_list_returned( string json, int expectedCount) { var filtersTestObject = new JsonFilterTestObject { Filters = json }; var document = JsonDocument.Parse(JsonSerializer.Serialize(filtersTestObject)); var filterElement = document.RootElement.GetProperty(ReportLayoutDocument.Filters); var filters = JsonFilterReader.ReadFilterConfigurations(filterElement); filters.Should().NotBeNull(); filters.Should().HaveCount(expectedCount); filters.TrueForAll(x => x.Name != null); var filterNames = filters.Select(x => x.Name).Distinct().ToList(); filterNames.Should().HaveCount(expectedCount); filterNames.ForEach(x => x.Should().BeOneOf("Filter1", "Filter2", string.Empty)); }
public void WHEN_json_filter_is_read_THEN_correct_type_is_returned( string jsonFile, FilterType expectedType) { var fullPath = Path.Combine(_testFilePath, jsonFile); var jsonText = File.ReadAllText(fullPath); var filtersTestObject = new JsonFilterTestObject { Filters = jsonText }; var document = JsonDocument.Parse(JsonSerializer.Serialize(filtersTestObject)); var filterElement = document.RootElement.GetProperty(ReportLayoutDocument.Filters); var filters = JsonFilterReader.ReadFilterConfigurations(filterElement); filters.Should().NotBeNull(); filters.First().FilterType.Should().Be(expectedType); filters.First().SecondaryFilterType.Should().BeNull(); filters.First().SecondaryFilterCondition.Should().Be(SecondaryFilterCondition.NotSet); }