public void FilterByMultipleColumnShouldWorkProperly(string testCase, Expression <Func <AllTypesModel, object> >[] selectors) { this.navigator.AllTypesDataPage().GoTo(); string firstColumnName = this.GetColumnName(selectors.First()); var firstInputId = "column-search-" + firstColumnName.Replace(' ', '-'); var table = new TableElement("table", this.driver); var filterValue = this.GetRandomValue(selectors.First().Compile()); table.TypeInInput($"#{firstInputId}", filterValue.ToString()); string secondColumnName = this.GetColumnName(selectors.Last()); var secondColumnValues = table.GetColumnRowValuesUntilAny(secondColumnName); var secondFilterValue = secondColumnValues.First(); var secondInputId = "column-search-" + secondColumnName.Replace(' ', '-'); table.TypeInInput($"#{secondInputId}", secondFilterValue); var columnValues = table.GetColumnRowValues(firstColumnName); this.AssertColumnValues(columnValues, filterValue, ComparissonTypesEnum.Equal); columnValues = table.GetColumnRowValues(secondColumnName); this.AssertColumnValues(columnValues, secondFilterValue, ComparissonTypesEnum.Equal); }
public void FilterByColumnShouldWorkProperlyForDateTimes(Expression <Func <AllTypesModel, object> > selector, ComparissonTypesEnum comparissonType) { string columnName = this.GetColumnName(selector); this.navigator.AllTypesDataPage().GoTo(); var inputId = "column-search-" + columnName.Replace(' ', '-'); var table = new TableElement("table", this.driver); var filterValueObj = this.GetRandomValue(selector.Compile()); var filterValueDT = comparissonType == ComparissonTypesEnum.DateTime ? (DateTime)filterValueObj : ((DateTimeOffset)filterValueObj).DateTime; Thread.Sleep(GlobalConstants.GlobalThreadSleep); table.TypeInInput($"#{inputId}", filterValueDT.ToString("r")); var columnValues = table.GetColumnRowValuesUntilAny(columnName); this.AssertColumnValues(columnValues, filterValueObj, comparissonType); }
public void FilterByColumnShouldWorkProperlyForNonDateTimes(Expression <Func <AllTypesModel, object> > selector, ComparissonTypesEnum comparissonType) { string columnName = this.GetColumnName(selector); if (selector.ToString().ToLower().Contains("nestedmodel")) { columnName = "Nested Model " + columnName; } this.navigator.AllTypesDataPage().GoTo(); var inputId = "column-search-" + columnName.Replace(' ', '-'); var table = new TableElement("table", this.driver); var filterValue = this.GetRandomValue(selector.Compile()); table.TypeInInput($"#{inputId}", filterValue.ToString()); var columnValues = table.GetColumnRowValuesUntilAny(columnName); this.AssertColumnValues(columnValues, filterValue, comparissonType); }