Example #1
0
        public void WhenParametersCollectionIsEmpty_JsonFormatter_ShouldNotSerializeParameters()
        {
            // Arrange.
            var filter1 = new FilterMetadata();
            var filter2 = new FilterMetadata { Parameters = { new FilterParameterMetadata() } };

            // Act / Assert.
            Assert.IsFalse(filter1.ShouldSerializeParameters());
            Assert.IsTrue(filter2.ShouldSerializeParameters());
        }
Example #2
0
        public void GetCurrentUserFilters_Returns_CurrentUserFilters()
        {
            // Arrange.
            var filterInfo1 = CreateFilter(1, "Filter 1");
            var filterInfo2 = CreateFilter(1, "Filter 2");
            var filterInfo3 = CreateFilter(1, "Filter 3");

            Mock.Arrange(() => _filterManager.GetCurrentUserFilters(ProcessName))
                .Returns(() => new InfoList<IFilterInfo> { filterInfo1, filterInfo2, filterInfo3 });
            Mock.Arrange(() => _filterManager.GetCurrentUserQuickFilters(ProcessName))
                .Returns(() => new InfoList<IQuickFilterInfo> { CreateQuickFilter(QuickFilters.Default, 2), CreateQuickFilter(QuickFilters.Filter2, 3) });

            var filterMetadata1 = new FilterMetadata { Id = 1 };
            Mock.Arrange(() => _filterMetadataFactory.CreateFilterMetadata(filterInfo1, true, false)).Returns(filterMetadata1);
            var filterMetadata2 = new FilterMetadata { Id = 2 };
            Mock.Arrange(() => _filterMetadataFactory.CreateFilterMetadata(filterInfo2, true, false)).Returns(filterMetadata2);
            var filterMetadata3 = new FilterMetadata { Id = 3 };
            Mock.Arrange(() => _filterMetadataFactory.CreateFilterMetadata(filterInfo3, true, false)).Returns(filterMetadata3);

            var searchUtils = CreateSearchUtils();

            // Act.
            var result = searchUtils.GetCurrentUserFilters(ProcessName).ToArray();

            // Assert.
            Assert.IsTrue(result.SequenceEqual(new[] { filterMetadata1, filterMetadata2, filterMetadata3 }));
            Assert.AreEqual(QuickFilters.None, filterMetadata1.QuickFilter);
            Assert.AreEqual(QuickFilters.Default, filterMetadata2.QuickFilter);
            Assert.AreEqual(QuickFilters.Filter2, filterMetadata3.QuickFilter);
        }
        /// <summary>
        /// Creates filter metadata.
        /// </summary>
        /// <param name="filter">
        /// The filter.
        /// </param>
        /// <param name="includeParameters">
        /// True to include parameter metadata; otherwise, false.
        /// </param>
        /// <param name="includeParameterValues">
        /// True to include parameter values; otherwise, false.
        /// </param>
        /// <returns>
        /// The <see cref="FilterMetadata"/>.
        /// </returns>
        public FilterMetadata CreateFilterMetadata(IFilterInfo filter, bool includeParameters, bool includeParameterValues)
        {
            var layoutId = filter.DefaultLayoutId > 0 ? (int?)filter.DefaultLayoutId : null;
            var filterMetadata = new FilterMetadata { Id = filter.Id, Name = filter.Name, LayoutId = layoutId };

            if (includeParameters)
            {
                var processMetadata = ProcessMetadataRepository.GetProcessMetadata(filter.ProcessSystemName);
                var filterDescriptor = FilterDescriptorFactory.CreateFilterFromJSON(filter.FilterDefinition);

                filterMetadata.Parameters.AddRange(
                    filterDescriptor.GetUdpDescriptors()
                                    .Select(x => x.Value)
                                    .OfType<FilterValue>()
                                    .Select(filterValue => CreateParameterMetadata(processMetadata, filterValue, includeParameterValues)));
            }

            return filterMetadata;
        }
Example #4
0
        public void GetFilterMetadata_Returns_FilterMetadata()
        {
            // Arrange.
            var filterInfo = CreateFilter(FilterId);
            var filterMetadata = new FilterMetadata();

            Mock.Arrange(() => _filterManager.GetFilterInfo(FilterId)).Returns(filterInfo);
            Mock.Arrange(() => _filterMetadataFactory.CreateFilterMetadata(filterInfo, true, true)).Returns(filterMetadata);

            var searchUtils = CreateSearchUtils();

            // Act.
            var result = searchUtils.GetFilterMetadata(FilterId, true, true);

            // Assert.
            Assert.AreSame(filterMetadata, result);
        }