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()); }
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; }
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); }