Exemplo n.º 1
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");
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }