public void SetOperationDetails(Field el, OperationWithValues operation, ReportPage _reportPage) { if (operation.Type != OperationType.None) { switch (el.Filter) { case FilterTypes.Input: _reportPage.InputField(el.Name).Clear(); _reportPage.InputField(el.Name).SendKeys(operation.ValueToUse); break; case FilterTypes.AutoComplete: _reportPage.InputWithAutoCompleteField(el.Name).Clear(); _reportPage.InputWithAutoCompleteField(el.Name).Click(); Console.WriteLine(operation.ValueToUse); if (operation.ValueToUse.Length >= 4) { _reportPage.InputWithAutoCompleteField(el.Name).SendKeys(operation.ValueToUse.Substring(0, 4)); } else { _reportPage.InputWithAutoCompleteField(el.Name).SendKeys(operation.ValueToUse); } _reportPage.InputWithAutoCompleteField(el.Name).Click(); _reportPage.SelectFromList(operation.ValueToUse).Click(); break; case FilterTypes.Date: _reportPage.InputField(el.Name).Click(); _reportPage.InputField(el.Name).Clear(); _reportPage.InputField(el.Name).SendKeys(operation.StartDate.ToString()); _reportPage.InputField(el.Name).SendKeys(Keys.Enter); _reportPage.Body.Click(); if (operation.Type == OperationType.Between) { _reportPage.AddFilter.Click(); _reportPage.Body.Click(); _reportPage.EndDateField(el.Name).Click(); _reportPage.EndDateField(el.Name).Clear(); _reportPage.EndDateField(el.Name).SendKeys(operation.EndDate.ToString()); _reportPage.Body.Click(); } _driver.FindElement(By.XPath("*//span[text() = 'Apply']")).Click(); break; case FilterTypes.Select: _reportPage.SelectField(el.Name).Click(); _reportPage.SelectFromListForFilter(operation.ValueToUse); break; default: break; } } }
public void _001_Test(Field el, OperationWithValues operation, string reportName, int count) { var _reportPage = OpenReports(); _reportPage.DataSourceElem.Click(); _reportPage.Body.Click(); _reportPage.DataSourceElem.Click(); WaitElementIsShown(_reportPage.DataSourceList); _reportPage.SelectDataSource(reportName); WaitElementIsShown(_reportPage.AddFilter); WaitLoadinOverlayIsNotShown(_reportPage); _reportPage.AddFilter.Click(); WaitElementIsShown(_reportPage.FilterList); _reportPage.SelectFilter(el.Name, count); WaitElementIsShown(_reportPage.FilterRow(el.Name)); _reportPage.Body.Click(); _reportPage.SelectAllColumns(); _reportPage.SelectOperation(el.Name, OperationName(operation.Type)); Thread.Sleep(4000); _reportPage.Body.Click(); SetOperationDetails(el, operation, _reportPage); _reportPage.Body.Click(); _reportPage.ApplyBtn.Click(); if (operation.UseValueToCheck) { operation.ValueToUse = operation.ValueToCheck; } Thread.Sleep(2000); CheckOperation(operation, el); }
history.Operations.Should().ContainSingle( OperationWithValues(type, occuredOn, amount, currency));
public void CheckOperation(OperationWithValues operation, Field el) { switch (operation.Type) { case OperationType.Contains: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || ColumnContains(operation.ValueToUse, el.Name)); } else { Assert.IsTrue(ColumnContains(operation.ValueToUse, el.Name)); } break; case OperationType.DoesntContain: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || ColumnNotContains(operation.ValueToUse, el.Name)); } else { Assert.IsTrue(ColumnNotContains(operation.ValueToUse, el.Name)); } break; case OperationType.Is: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || ColumnIs(operation.ValueToUse, el.Name)); } else { Assert.IsTrue(ColumnIs(operation.ValueToUse, el.Name)); } break; case OperationType.IsNot: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || ColumnIsNot(operation.ValueToUse, el.Name)); } else { Assert.IsTrue(ColumnIsNot(operation.ValueToUse, el.Name)); } break; case OperationType.None: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || ColumnIsEmpty(operation.ValueToUse, el.Name)); } else { Assert.IsTrue(ColumnIsEmpty(operation.ValueToUse, el.Name)); } break; case OperationType.DateMoreThan: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || DateMoreThan(operation.StartDate, el.Name)); } else { Assert.IsTrue(DateMoreThan(operation.StartDate, el.Name)); } break; case OperationType.DateLesThan: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || DateLessThan(operation.StartDate, el.Name)); } else { Assert.IsTrue(DateLessThan(operation.StartDate, el.Name)); } break; case OperationType.Between: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || DateBetween(operation.StartDate, operation.EndDate, el.Name)); } else { Assert.IsTrue(DateBetween(operation.StartDate, operation.EndDate, el.Name)); } break; case OperationType.DateIs: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || DateIs(operation.StartDate, el.Name)); } else { Assert.IsTrue(DateIs(operation.StartDate, el.Name)); } break; case OperationType.DateIsNot: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || DateIsNot(operation.StartDate, el.Name)); } else { Assert.IsTrue(DateIsNot(operation.StartDate, el.Name)); } break; case OperationType.MoreThan: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || NumberMoreThan(operation.ValueToUse, el.Name)); } else { Assert.IsTrue(NumberMoreThan(operation.ValueToUse, el.Name)); } break; case OperationType.LessThan: if (operation.ExpectedEmptyTable) { Assert.IsTrue(TableIsEmpty() || NumberLessThan(operation.ValueToUse, el.Name)); } else { Assert.IsTrue(NumberLessThan(operation.ValueToUse, el.Name)); } break; default: break; } }