public void ATC4419_CRMEntityClientDOBFieldTest() { #region Start Up Excel MyBook = MyApp.Workbooks.Open(DatasourceDir + @"\Clients.xlsx", 0, false, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); MySheet = (Excel.Worksheet)MyBook.Sheets[Properties.Settings.Default.ENVIRONMENT.ToString()]; MyRange = MySheet.UsedRange; //Get specific row for the data int testDataRows = MyRange.Rows.Count; int MyRow = 0; for (int i = 2; i <= testDataRows; i++) { if (MyRange.Cells[i, 1].Value.ToString() == "ClientTestData") { MyRow = i; break; } } #endregion string clientName = (MyRange.Cells[MyRow, ClientsSchema.GetColumnIndex("CLIENT_NAME")].Value.ToString()); //Login in as role User user = this.environment.GetUser(SecurityRole.Investigations); new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickClientServicesRibbonButton(); homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); ClientsSearchPage clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.ClickNewClientButton(); // Add new client name ClientPage clientPage = new ClientPage(driver); string BaseWindow = driver.CurrentWindowHandle; // Fill in mandatory fields clientPage.PopulateNewClient(clientName); clientPage.ClickSaveButton(); Assert.IsTrue(clientPage.CheckFamilyNameErrorPresent(), "Error in saving Family Name"); // Set {Date of Birth} field to tomorrow. clientPage.SetDateOfBirthValue(DateTime.Now.AddDays(1).ToString("dd/MM/yyyy")); clientPage.ClickSaveButton(); StringAssert.Contains(clientPage.GetBirthdayErrorText(), "Invalid Date of Birth entered, please correct."); // Set {Date of Birth} field to make client less than 16 years old. clientPage.SetDateOfBirthValue(DateTime.Now.AddYears(-5).ToString("dd/MM/yyyy")); clientPage.ClickSaveButton(); StringAssert.Contains(clientPage.GetBirthdayErrorText(), "Invalid Date of Birth entered, please correct."); // Set {Date of Birth} field to make client have year of birth prior to 1900 (e.g. 1899). clientPage.SetDateOfBirthValue("01/01/1899"); clientPage.ClickSaveButton(); StringAssert.Contains(clientPage.GetBirthdayErrorText(), "The specified date format is invalid or the date is out of valid range. Enter a valid date in the format: d/MM/yyyy"); // Set {Date of Birth} field to make client 16 years old. driver.Navigate().Refresh(); clientPage = new ClientPage(driver); clientPage.SetDateOfBirthValue(DateTime.Now.AddYears(-16).ToString("dd/MM/yyyy")); clientPage.ClickSaveButton(); Assert.IsFalse(clientPage.CheckDateOfBirthErrorPresent(), "Error in saving date of birth field to make client 16 years old."); // Update {Date of Birth} field to tomorrow. clientPage.SetDateOfBirthValue(DateTime.Now.AddDays(1).ToString("dd/MM/yyyy")); clientPage.ClickSaveButton(); StringAssert.Contains(clientPage.GetBirthdayErrorText(), "Invalid Date of Birth entered, please correct."); // Update {Date of Birth} field to make client less than 16 years old. clientPage.SetDateOfBirthValue(DateTime.Now.AddYears(-6).ToString("dd/MM/yyyy")); clientPage.ClickSaveButton(); StringAssert.Contains(clientPage.GetBirthdayErrorText(), "Invalid Date of Birth entered, please correct."); // Set {Date of Birth} field to make client have year of birth prior to 1900 (e.g. 1899). clientPage.SetDateOfBirthValue("01/01/1899"); clientPage.ClickSaveButton(); StringAssert.Contains(clientPage.GetBirthdayErrorText(), "The specified date format is invalid or the date is out of valid range. Enter a valid date in the format: d/MM/yyyy"); // Remove error message clientPage.SetDateOfBirthValue(""); clientPage.ClickSaveButton(); // Update {Date of Birth} field to 01/01/1900 driver.Navigate().Refresh(); clientPage = new ClientPage(driver); clientPage.SetDateOfBirthValue("01/01/1900"); clientPage.ClickSaveButton(); Assert.IsFalse(clientPage.CheckDateOfBirthErrorPresent(), "Error in saving date of birth field to 01/01/1900"); #region Shut down Excel MyBook.Save(); MyBook.Close(); MyApp.Quit(); #endregion }