public void AddBaseTable_ShouldUpdateIsFilterableProperty() { #region Arrange var visibleFields = new[] { BaseField1Name, BaseField3Name }; var queryGenerator = new SearchQueryGeneratorTest(); queryGenerator.SetNonFilteredColumns(null); queryGenerator.ResultColumns.AddRange(visibleFields); queryGenerator.LimitResultColumns = true; var baseProcessdefinition = new ProcessDefinition(); var baseTableDefinition = new TableDefinition("TestBaseProcess"); baseProcessdefinition.TableList.Insert(0, baseTableDefinition); baseTableDefinition.AddField(BaseField1Name, ColumnTypes.Numeric, null, true, true); baseTableDefinition.AddField(BaseField2Name, ColumnTypes.Object, null, true, true); baseTableDefinition.AddField(BaseField3Name, ColumnTypes.Object, null, true, false); #endregion Arrange // Act queryGenerator.AddBaseTable(baseProcessdefinition); // Assert Assert.IsTrue(queryGenerator.BaseFieldIsFilterable(BaseField1Name)); Assert.IsFalse(queryGenerator.BaseFieldIsFilterable(BaseField2Name)); Assert.IsFalse(queryGenerator.BaseFieldIsFilterable(BaseField3Name)); }
public void IsColumnExcludedFromSearchFilterTest() { // Arrange var queryGenerator = new SearchQueryGeneratorTest(); // Act queryGenerator.SetNonFilteredColumns(null); // Assert Assert.IsFalse(queryGenerator.IsColumnExcludedFromSearchFilter(BaseField1Name)); // Act queryGenerator.SetNonFilteredColumns(new[] { BaseField1Name, BaseField2Name }); // Assert Assert.IsTrue(queryGenerator.IsColumnExcludedFromSearchFilter(BaseField1Name)); Assert.IsFalse(queryGenerator.IsColumnExcludedFromSearchFilter(BaseField3Name)); }
public void SetNonFilteredColumnsTest() { // Arrange var queryGenerator = new SearchQueryGeneratorTest(); // Act queryGenerator.SetNonFilteredColumns(null); // Assert Assert.IsNull(queryGenerator.NonFilteredColumns); // Act queryGenerator.SetNonFilteredColumns(new[] { BaseField1Name, BaseField2Name }); // Assert Assert.AreEqual(queryGenerator.NonFilteredColumns.Count(), 2); Assert.IsTrue(queryGenerator.NonFilteredColumns.Contains(BaseField1Name)); Assert.IsTrue(queryGenerator.NonFilteredColumns.Contains(BaseField2Name)); }
public void AddReferencesFiltered_ShouldUpdateIsFilterableProperty() { #region Arrange var visibleFields = new string[0]; var queryGenerator = new SearchQueryGeneratorTest(); queryGenerator.SetNonFilteredColumns(new [] { CrField2Name, McrField2Name, RcrField2Name }); var processdefinition = new ProcessDefinition(); var tableDefinition = new TableDefinition("TestProcess"); processdefinition.TableList.Insert(0, tableDefinition); processdefinition.SingleCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.Reference, SystemName = CrField1Name, IsFilterable = true }); processdefinition.SingleCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.Reference, SystemName = CrField2Name, IsFilterable = true }); processdefinition.SingleCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.Reference, SystemName = CrField3Name, IsFilterable = false }); processdefinition.MultiCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.MultiReference, SystemName = McrField1Name, IsFilterable = true }); processdefinition.MultiCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.MultiReference, SystemName = McrField2Name, IsFilterable = true }); processdefinition.MultiCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.MultiReference, SystemName = McrField3Name, IsFilterable = false }); processdefinition.ReverseCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.ReverseReference, SystemName = RcrField1Name, IsFilterable = true }); processdefinition.ReverseCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.ReverseReference, SystemName = RcrField2Name, IsFilterable = true }); processdefinition.ReverseCrossReferenceFields.Add( new ReferenceFieldDefinition { ColumnType = ColumnTypes.ReverseReference, SystemName = RcrField3Name, IsFilterable = false }); #endregion Arrange // Act queryGenerator.AddReferences(processdefinition); // Assert Assert.IsTrue(queryGenerator.SingleCrossReferenceIsFilterable(CrField1Name)); Assert.IsFalse(queryGenerator.SingleCrossReferenceIsFilterable(CrField2Name)); Assert.IsFalse(queryGenerator.SingleCrossReferenceIsFilterable(CrField3Name)); Assert.IsTrue(queryGenerator.MultiCrossReferenceIsFilterable(McrField1Name)); Assert.IsFalse(queryGenerator.MultiCrossReferenceIsFilterable(McrField2Name)); Assert.IsFalse(queryGenerator.MultiCrossReferenceIsFilterable(McrField3Name)); Assert.IsTrue(queryGenerator.ReverseCrossReferenceIsFilterable(RcrField1Name)); Assert.IsFalse(queryGenerator.ReverseCrossReferenceIsFilterable(RcrField2Name)); Assert.IsFalse(queryGenerator.ReverseCrossReferenceIsFilterable(RcrField3Name)); }