public void SearchByCharFiledShouldWorkProperlyAndCaseInsensitive(int testCase, Func <AllTypesModel, string> selector) { var colNames = new string[] { "CharProperty", "CharNullable", "Nested Model CharProperty", "Nested Model CharNullable" }; for (int i = 0; i < 2; i++) { this.navigator.AllTypesDataPage().GoTo("?showString=false"); var tableElement = new TableElement("table", this.driver); var searchValue = this.GetRandomCharContainedInDataSwitchedCase(selector).ToString().RandomiseCase(); tableElement.TypeInSearchBox(searchValue); Thread.Sleep(GlobalConstants.GlobalThreadSleep); var columnValuesCollection = new List <IList <string> >(); foreach (var colName in colNames) { columnValuesCollection.Add(tableElement.GetColumnRowValues(colName).ToList()); } var joinedColumns = this.ConcatItems(columnValuesCollection.ToArray()); Assert.IsNotEmpty(joinedColumns); Assert.IsTrue(joinedColumns.All(x => x.ToLower().Contains(searchValue.ToLower()))); } }
public void SearchByStringFiledShouldWorkProperlyAndCaseInsensitive(int caseNumber, Func <AllTypesModel, string> selector) { var columnName1 = "StringProperty"; var columnName2 = "Nested Model StringProperty"; for (int i = 0; i < 5; i++) { this.navigator.AllTypesDataPage().GoTo("?showChar=false"); var tableElement = new TableElement("table", this.driver); var searchValue = this.GetRandomSubstringContainedInData(selector).RandomiseCase(); tableElement.TypeInSearchBox(searchValue); Thread.Sleep(GlobalConstants.GlobalThreadSleep); var filteredValues1 = tableElement.GetColumnRowValues(columnName1).ToList(); var filteredValues2 = tableElement.GetColumnRowValues(columnName2).ToList(); var joinedColumns = new List <string>(); for (int j = 0; j < filteredValues1.Count(); j++) { joinedColumns.Add(filteredValues1[j] + filteredValues2[j]); } Assert.IsTrue(joinedColumns.All(x => x.ToLower().Contains(searchValue.ToLower()))); } }