public void ATC4431_CRMInvestigationVerifyPhysicalAddressWarningMessage() { //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.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickClientsRibbonButton(); ClientsSearchPage clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.ClickNewClientButton(); // Add new client name ClientPage clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); // Fill in mandatory fields clientPage.SetClientType("Organisation"); clientPage.SetOrganizationName("TC Investigation"); clientPage.ClickSaveButton(); clientPage.ClickPageTitle(); string clientID = clientPage.GetClientID(); // Verify that "Physical Address is blank, please select an address." error message is displayed Assert.IsTrue(clientPage.VerifyWarningMessagePresent("rta_physicaladdressid"), "Physical Address blank message NOT displayed"); StringAssert.Contains(clientPage.GetWarningMessage("rta_physicaladdressid"), "Physical Address is blank, please select an address."); // Enter valid Physical address 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")); Assert.IsFalse(clientPage.VerifyWarningMessagePresent("rta_physicaladdressid"), "Physical Address blank message DISPLAYED!!!!!"); }
public void ATC4420_CRMInvestigationCreateNewClientViaInvestigationGroup() { //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.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickClientsRibbonButton(); ClientsSearchPage clientsSearchPage = new ClientsSearchPage(driver); string baseWindow = driver.CurrentWindowHandle; clientsSearchPage.ClickNewClientButton(); // Add new client name ClientPage clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); // Fill in mandatory fields clientPage.SetClientType("Organisation"); clientPage.SetOrganizationName("TC Investigation"); clientPage.ClickSaveButton(); string clientID = clientPage.GetClientID(); clientPage.ClickSaveCloseButton(); // Create another client driver = driver.SwitchTo().Window(baseWindow); clientsSearchPage.ClickNewClientButton(); // Add second client clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); // Fill in mandatory fields clientPage.SetClientType("Organisation"); clientPage.SetOrganizationName("TC Investigation second"); clientPage.ClickSaveButton(); string clientID2 = clientPage.GetClientID(); StringAssert.Equals(clientID.Substring(0, 1), clientID2.Substring(0, 1)); StringAssert.Equals(clientID.Substring(0, 1), "C"); //"Client ID is not starting with C" int clientNo1 = Convert.ToInt32(clientID.Substring(1)); int clientNo2 = Convert.ToInt32(clientID2.Substring(1)); Console.WriteLine(clientNo1); Console.WriteLine(clientNo2); if (clientNo2 - clientNo1 < 1) { throw new Exception("Client ID is not properly generated!!!"); } }
public void ATC4439_ClientAlertsValidation() { //Login in as role User user = this.environment.GetUser(SecurityRole.Investigations); new LoginDialog().Login(user.Id, user.Password); //Navigate to: Client Services group > Clients tile HomePage homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickClientServicesRibbonButton(); homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); //Double-click on a Organisation record. ClientsSearchPage clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.ClickNewClientButton(); ClientPage clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); clientPage.SetClientType("Organisation"); clientPage.SetOrganizationName("TC AlertValidation"); clientPage.ClickSaveButton(); string clientID = clientPage.GetClientID(); clientPage.ClickSaveCloseButton(); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetClientSearchText(clientID); Table table = new Table(clientsSearchPage.GetSearchResultTable()); table.ClickCellValue("RTA Client Id", clientID, "Full Name"); //Inspect Current Alerts section.Click [+] button. clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); string BaseWindow = driver.CurrentWindowHandle; clientPage.ClickAddAlertElement(); //Set {Alert Type} to 'Other'.{Other Alert} field becomes mandatory and is enabled. driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Alert"); AlertPage alertPage = new AlertPage(driver); alertPage.SetAlertTypeElement("Other"); Assert.IsTrue(alertPage.VerifyOtherAlertMandatoryFieldIconPresent()); //Enter free text into {Other Alert} field and {Description}. alertPage.SetOtherAlertText("Other Alert One"); alertPage.SetDesctiptionText("Description Text Test Value One"); //Saved.Displays as current alert.As per entered. alertPage.ClickSaveCloseIMG(); driver = driver.SwitchTo().Window(BaseWindow); clientPage = new ClientPage(driver); Table alertTable = new Table(clientPage.GetCurrentAlertsTable()); StringAssert.Contains(alertTable.GetCellValue("Other Alert", "Other Alert One", "Alert Type"),"Other","Validating whether other alert displayed in current alerts"); BaseWindow = driver.CurrentWindowHandle; //Create another Alert:Set {Start date}.Set {End date} to today.Save record. clientPage.ClickAddAlertElement(); Thread.Sleep(5000); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Alert"); alertPage = new AlertPage(driver); alertPage.SetAlertTypeElement("Other"); Assert.IsTrue(alertPage.VerifyOtherAlertMandatoryFieldIconPresent()); alertPage.SetOtherAlertText("Other Alert Two"); alertPage.SetDesctiptionText("Description Text Test Value Two"); alertPage.SetStartDateValue(DateTime.Now.ToString("dd/MM/yyyy")); alertPage.SetEndDateValue(DateTime.Now.ToString("dd/MM/yyyy")); alertPage.ClickSaveCloseIMG(); driver.SwitchTo().Window(BaseWindow); //Saved.Displays as current alert.As per entered. clientPage = new ClientPage(driver); alertTable = new Table(clientPage.GetCurrentAlertsTable()); StringAssert.Contains(alertTable.GetCellValue("Other Alert", "Other Alert Two", "Alert Type"), "Other", "Validating whether other alert displayed in current alerts"); //Modify record:Set {End date} to yesterday.Save record. IWebElement alertElement = alertTable.GetCellElementContainsValue("Other Alert", "Other Alert Two", "Other Alert"); UICommon.DoubleClickElement(alertElement, driver); alertPage = new AlertPage(driver); alertPage.SetStartDateValue(DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy")); alertPage.SetEndDateValue(DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy")); alertPage.ClickSaveCloseIMG(); //Saved.NOT displayed as current alert.As per entered. clientPage = new ClientPage(driver); alertTable = new Table(clientPage.GetCurrentAlertsTable()); Assert.IsFalse(alertTable.MatchingCellFound("Other Alert","Other Alert Two"), "Validating the alert with end date as yeterday not displayed in current alerts"); //Create more then four current Alerts. BaseWindow = driver.CurrentWindowHandle; clientPage.ClickAddAlertElement(); Thread.Sleep(3000); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Alert"); alertPage = new AlertPage(driver); alertPage.SetAlertTypeElement("Other"); Assert.IsTrue(alertPage.VerifyOtherAlertMandatoryFieldIconPresent()); alertPage.SetOtherAlertText("Other Alert Two"); alertPage.SetDesctiptionText("Description Text Test Value Two"); alertPage.SetStartDateValue(DateTime.Now.ToString("dd/MM/yyyy")); alertPage.SetEndDateValue(DateTime.Now.ToString("dd/MM/yyyy")); alertPage.ClickSaveCloseIMG(); driver = driver.SwitchTo().Window(BaseWindow); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); BaseWindow = driver.CurrentWindowHandle; clientPage.ClickAddAlertElement(); Thread.Sleep(3000); //Enter Alert details driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Alert"); alertPage = new AlertPage(driver); alertPage.SetAlertTypeElement("Other"); Assert.IsTrue(alertPage.VerifyOtherAlertMandatoryFieldIconPresent()); alertPage.SetOtherAlertText("Other Alert Three"); alertPage.SetDesctiptionText("Description Text Test Value Three"); alertPage.SetStartDateValue(DateTime.Now.ToString("dd/MM/yyyy")); alertPage.SetEndDateValue(DateTime.Now.ToString("dd/MM/yyyy")); alertPage.ClickSaveCloseIMG(); driver = driver.SwitchTo().Window(BaseWindow); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); BaseWindow = driver.CurrentWindowHandle; clientPage.ClickAddAlertElement(); Thread.Sleep(3000); //Enter Alert details driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Alert"); alertPage = new AlertPage(driver); alertPage.SetAlertTypeElement("Other"); Assert.IsTrue(alertPage.VerifyOtherAlertMandatoryFieldIconPresent()); alertPage.SetOtherAlertText("Other Alert Four"); alertPage.SetDesctiptionText("Description Text Test Value Four"); alertPage.SetStartDateValue(DateTime.Now.ToString("dd/MM/yyyy")); alertPage.SetEndDateValue(DateTime.Now.ToString("dd/MM/yyyy")); alertPage.ClickSaveCloseIMG(); driver = driver.SwitchTo().Window(BaseWindow); //Section is dynamic and allows for multi-page display. clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); clientPage.ClickNextPageAlertTable(); alertTable = new Table(clientPage.GetCurrentAlertsTable()); Assert.IsTrue(alertTable.MatchingCellFound("Other Alert", "Other Alert Four"), "Validating the fourth alert displayed in the next page of alert table"); }
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")); }
public void ATC4433_CommonTriggerPointCopyAddressFromParent() { //Login to CRM as General staff user. User user = this.environment.GetUser(SecurityRole.GeneralStaff); new LoginDialog().Login(user.Id, user.Password); //Navigate to: Client Services group > Clients tile HomePage homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickClientServicesRibbonButton(); homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); //Create Parent Organization with Postal address ClientsSearchPage clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.ClickNewClientButton(); ClientPage clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); string parentOrganisation = "TCParentOrganization"+ UICommon.GetRandomString(5); clientPage.SetClientType("Organisation"); clientPage.SetOrganizationName(parentOrganisation); clientPage.ClickSaveButton(); string BaseWindow = driver.CurrentWindowHandle; clientPage.ClickCreateNewClientAddressButton("rta_postaladdressid"); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Client Address"); ClientNewAddressPage clientNewAddressPage = new ClientNewAddressPage(driver); clientNewAddressPage.SetAddressDetails("Australian Physical", 10, "GRACELAND"); driver = driver.SwitchTo().Window(BaseWindow); clientPage = new ClientPage(driver); Assert.AreEqual("10 GRACELAND", clientPage.GetAddressValue("rta_postaladdressid")); clientPage.ClickSaveCloseButton(); //Create child with parent organization has postal address clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.ClickNewClientButton(); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); string childOrganisation = "TCChildOrganization"+ UICommon.GetRandomString(5); clientPage.SetClientType("Organisation"); clientPage.SetOrganizationName(childOrganisation); clientPage.SetParentOrganization(parentOrganisation.ToUpper()); clientPage.ClickSaveButton(); string clientID = clientPage.GetClientID(); //Select "Start Dialog" item from top entity menu. clientPage.ClickStartDialogButton(); /*Run dialog "Copy an address from parent organisation": *For client where parent organisation has postal address but no physical address *Select YES for Postal address and YES for Physical addres */ Table table = new Table(clientPage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "Copy an address from parent organisation", "Created On"); BaseWindow = driver.CurrentWindowHandle; clientPage.ClickDialogAddButton(); Thread.Sleep(2000); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Copy an address"); CopyAddressPage copyAddressPage = new CopyAddressPage(driver); copyAddressPage.SetCopyPhysicalAddressYes(); copyAddressPage.SetCopyPostalAddressYes(); //User is notified that no Physical address is copied. copyAddressPage.ClickNextButton(); Assert.AreEqual(copyAddressPage.GetErrorMessage(), "The parent organisation does not have a physical address"); /*For client where parent organisation has postal address but no physical address *Select NO for Postal address and YES for Physical address */ copyAddressPage.ClickPreviousButton(); copyAddressPage.SetCopyPostalAddressNo(); copyAddressPage.SetCopyPhysicalAddressYes(); copyAddressPage.ClickNextButton(); ////User is notified that no Physical address is copied. Assert.AreEqual(copyAddressPage.GetErrorMessage(), "The parent organisation does not have a physical address"); /* For client where parent organisation has postal address but no physical address * Select YES for Postal address and NO for Physical address */ copyAddressPage.ClickPreviousButton(); copyAddressPage.SetCopyPostalAddressYes(); copyAddressPage.SetCopyPhysicalAddressNo(); copyAddressPage.ClickNextButton(); //Copy is successful. StringAssert.Contains(copyAddressPage.GetFinishMessage(), "This is the end of the dialog. Click Finish to close it"); copyAddressPage.ClickFinishButton(); driver = driver.SwitchTo().Window(BaseWindow); clientPage.ClickSaveCloseButton(); Thread.Sleep(5000); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetClientSearchText(clientID); Table searchTable = new Table(clientsSearchPage.GetSearchResultTable()); searchTable.ClickCellValue("RTA Client Id", clientID, "Full Name"); clientPage = new ClientPage(driver); Assert.AreEqual(clientPage.GetPostalAddress(), "10 GRACELAND"); }