public void ATC3351_CRMEntityClientNameCreateNewWithInformation() { #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()); string EmailID = (MyRange.Cells[MyRow, ClientsSchema.GetColumnIndex("EMAIL")].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); string HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); homePage.ClickClientServicesRibbonButton(); homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); ClientsSearchPage clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.ClickNewClientButton(); // Add new client name ClientPage clientPage = new ClientPage(driver); // Fill in mandatory fields clientPage.PopulateNewClient(clientName); // Fill in Email address clientPage.SetEmail1ID(EmailID); clientPage.ClickSaveButton(); string BaseWindow = driver.CurrentWindowHandle; // Set the postal address clientPage.ClickCreateNewClientAddressButton("rta_physicaladdressid"); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Client Address"); ClientNewAddressPage clientNewAddressPage = new ClientNewAddressPage(driver); clientNewAddressPage.SetAddressDetails("Australian Physical", 10, "GRACELAND"); driver.SwitchTo().Window(BaseWindow); clientPage = new ClientPage(driver); //Verify Address value Assert.AreEqual("10 GRACELAND", clientPage.GetAddressValue("rta_physicaladdressid")); // Navigate to client phone numbers driver.SwitchTo().Window(HomeWindow); homePage.HoverClientXRibbonTab(clientName); homePage.ClickClientXPhoneNumbersRibbonButton(); clientPage = new ClientPage(driver); BaseWindow = driver.CurrentWindowHandle; clientPage.ClickAddNewClientPhoneImage(); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Client Phone Number"); ClientPhoneNumberPage clientPhoneNumberPage = new ClientPhoneNumberPage(driver); //clientPhoneNumberPage.ClickTypeList(); clientPhoneNumberPage.SetTypeListValue("Fixed Line"); //clientPhoneNumberPage.ClickAreaCodeElement(); clientPhoneNumberPage.SetAreaCodeValue("07"); //clientPhoneNumberPage.ClickPhoneNumberElement(); clientPhoneNumberPage.SetPhoneNumberValue("11111111"); clientPhoneNumberPage.ClickSaveCloseButton(); driver = driver.SwitchTo().Window(BaseWindow); clientPage.SetClientSearchText(clientName); Table table = new Table(clientPage.GetSearchResultTable()); StringAssert.Contains(table.GetCellValue("Client", clientName, "Full Phone Number"), "+61 7 1111 1111"); #region Shut down Excel MyBook.Save(); MyBook.Close(); MyApp.Quit(); #endregion }
public void ATC4444_CRMClientEmailDelete() { //Login as CRM default user. User user = this.environment.GetUser(SecurityRole.GeneralStaff); new LoginDialog().Login(user.Id, user.Password); /*Data preparation step Organisation Client is needed with following fields populated: - Email 1 - Email 2*/ string clientName = "CLIENTEMAILDEL" + UICommon.GetRandomString(3); HomePage homePage = new HomePage(driver); string HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); homePage.ClickClientServicesRibbonButton(); homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); ClientsSearchPage clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.ClickNewClientButton(); ClientPage clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); clientPage.SetClientType("Organisation"); clientPage.SetOrganizationName(clientName); clientPage.ClickSaveButton(); string email1 = clientName + "*****@*****.**"; string email2 = clientName + "*****@*****.**"; clientPage.SetEmail1ID(clientName + "*****@*****.**"); clientPage.SetEmail2ID(clientName + "*****@*****.**"); clientPage.ClickSaveButton(); Assert.AreEqual(email1, clientPage.GetEmail1ID(),"Validate the email id1 is set correctly"); Assert.AreEqual(email2, clientPage.GetEmail2ID(),"Validate the email id2 is set correctly"); string clientID = clientPage.GetClientID(); clientPage.ClickSaveCloseButton(); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetClientSearchText(clientID); Table clientTable = new Table(clientsSearchPage.GetSearchResultTable()); clientTable.ClickCellValue("RTA Client Id", clientID, "Full Name"); //Clear the following fields and save record:- Email 1- Email 2 clientPage = new ClientPage(driver); clientPage.ClearEmail1Id(); clientPage.ClearEmail2Id(); string date = DateTime.Today.ToString("d/MM/yyyy"); string time = DateTime.Now.ToString("h:mm tt"); clientPage.ClickSaveCloseButton(); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetClientSearchText(clientID); clientTable = new Table(clientsSearchPage.GetSearchResultTable()); clientTable.ClickCellValue("RTA Client Id", clientID, "Full Name"); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); //Inspect resultant entry in Activity sub grid. Table headerTable = new Table(clientPage.GetActivitiesHeaderTable()); headerTable.ClickTableColumnHeader("Actual End"); Thread.Sleep(2000); Table activitiesTable = new Table(clientPage.GetActivitiesTable()); //Client Management Activity is created as a note to users that the email address fields were changed (includes current value of each field and a note referring the user to audit history). Assert.IsTrue(activitiesTable.MatchingCellFound("Subject", "Client E-mail Address updated"), "Client Management Activity for Email field updation Created!!!"); activitiesTable.ClickCellValue("Subject", "Client E-mail Address updated", "Subject"); ClientManagementActivityPage activityPage = new ClientManagementActivityPage(driver); activityPage.ClickPageTitle(); StringAssert.Contains(activityPage.GetDescription(), "Email Address (primary): [no value]"); StringAssert.Contains(activityPage.GetDescription(), "Email Address (secondary): [no value]"); StringAssert.Contains(activityPage.GetDescription(), "Note: the current values are displayed above. Refer to Audit History against the Client record for more information."); //Select the [Audit History] option from the entity navigation menu in the global ribbon. Inspect audit history relating to deletions made in this test. homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetClientSearchText(clientID); clientTable = new Table(clientsSearchPage.GetSearchResultTable()); clientTable.ClickCellValue("RTA Client Id", clientID, "Full Name"); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); homePage.HoverClientRibbonTab(clientName); homePage.ClickClientXAuditRibbonButton(); clientPage = new ClientPage(driver); Thread.Sleep(2000); /*Audit history shows: - What was deleted - Who deleted it - When it was deleted - What previous value was*/ clientPage = new ClientPage(driver); Table auditTable = new Table(clientPage.GetAuditHistoryTable()); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Changed Field"), "Email Address (primary)"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Changed Field"), "Email Address (secondary)"); Assert.AreEqual(email1+System.Environment.NewLine+email2, auditTable.GetCellValue("Event", "Update", "Old Value")); Assert.AreEqual(String.Empty,auditTable.GetCellValue("Event", "Update", "New Value").Trim()); Assert.AreEqual(user.Id.ToLower() + " user", auditTable.GetCellValue("Event", "Update", "Changed By").ToLower()); Assert.AreEqual( date + " " +time, auditTable.GetCellValue("Event", "Update", "Changed Date")); }