public void ATC6365c_CRMTESTINGEndtoEndSingleFormBPayAXSuccess() { #region Start Up Excel MyBook = MyApp.Workbooks.Open(DatasourceDir + @"\TenancyRequests.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() == "6365") { MyRow = i; break; } } #endregion string tenancyRequest = MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("TR_NUMBER")].Value.ToString(); User user = this.environment.GetUser(SecurityRole.RBSOfficer); new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickRBSRibbonButton(); homePage.HoverRBSRibbonTab(); homePage.ClickRtaTenancyRequestRibbonButton(); TenancyRequestsSearchPage tenancyRequestsSearchPage = new TenancyRequestsSearchPage(driver); tenancyRequestsSearchPage.SetPageFilterList("All Tenancy Requests"); Table table = new Table(tenancyRequestsSearchPage.GetSearchResultTableColHeadings()); table.ClickTableColumnHeader("Created On"); table.ClickTableColumnHeader("Created On"); table = new Table(tenancyRequestsSearchPage.GetSearchResultTable()); StringAssert.Contains(table.GetCellValue("Name", tenancyRequest, "Status Reason"), "Completed"); StringAssert.Contains(table.GetCellValue("Name", tenancyRequest, "Processing Status"), "Financials processing successful"); #region Shut down Excel MyBook.Save(); MyBook.Close(); MyApp.Quit(); #endregion }
public void ATC9200_CRMInvestigationClosingACaseWhichDoesNotHaveCasePartyShouldNotGiveError() { //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.ClickInvestigationsCasesRibbonButton(); // Create new investigation case InvestigationCaseSearchPage investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.ClickNewInvestigationCaseButton(); InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); string investigationID = investigationCasePage.GetInvestigationCaseNumber(); investigationCasePage.ClickStartDialogButton(); Table table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Close investigation case", "Created On"); string BaseWindow = driver.CurrentWindowHandle; //Records the current window handle investigationCasePage.ClickDialogAddButton(); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "INV:"); INVPage iNVPage = new INVPage(driver); iNVPage.ClickNextButton(); iNVPage.ClickNextButton(); iNVPage.ClickNextButton(); iNVPage.ClickFinishButton(); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickSaveCloseButton(); investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.SetPageFilterList("Inactive Investigation Cases"); table = new Table(investigationCaseSearchPage.GetHeaderSearchResultTable()); table.ClickTableColumnHeader("Case Number"); table.ClickTableColumnHeader("Case Number"); table = new Table(investigationCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); Thread.Sleep(1000); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickStartDialogButton(); table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Re-open investigation case", "Created On"); string HomeWindow = driver.CurrentWindowHandle; investigationCasePage.ClickDialogAddButton(); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "INV:"); iNVPage = new INVPage(driver); iNVPage.ClickNextButton(); iNVPage.ClickNextButton(); iNVPage.ClickFinishButton(); driver = driver.SwitchTo().Window(HomeWindow); driver.Navigate().Refresh(); Thread.Sleep(1000); }
public void ATC3312_CRMInvestigationCaseCloseAndReopen() { //There is only 1 string InvestigationWindowHandle; // for driver string ClientWindowHandle; // for ClientDriver string ClientName = "CLIENT CASE" + UICommon.GetRandomString(3); User user = this.environment.GetUser(SecurityRole.InvestigationOfficer); new LoginDialog().Login(user.Id, user.Password); // Create Investigation Case HomePage homePageInvestigation = new HomePage(driver); InvestigationWindowHandle = driver.CurrentWindowHandle; homePageInvestigation.HoverCRMRibbonTab(); homePageInvestigation.ClickInvestigationsRibbonButton(); homePageInvestigation.HoverInvestigationsRibbonTab(); homePageInvestigation.ClickInvestigationsCasesRibbonButton(); // Verify that Investigation Officer is able to record Phone call for Investigation Case InvestigationCaseSearchPage investigationsCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationsCaseSearchPage.ClickNewInvestigationCaseButton(); // Create new Investigation case InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); String investigationID = investigationCasePage.GetInvestigationCaseNumber(); IWebDriver ClientDriver = null; // Spawn a new window and open a Client record if (Properties.Settings.Default.BROWSER == BrowserType.Ie) { ClientDriver = new BrowserContext().WebDriver; this.environment = TestEnvironment.GetTestEnvironment(); } ClientDriver.Navigate().GoToUrl(this.environment.Url); new LoginDialog().Login(user.Id, user.Password); // Create new Client Profile HomePage homePageClient = new HomePage(ClientDriver); ClientWindowHandle = ClientDriver.CurrentWindowHandle; homePageClient.HoverCRMRibbonTab(); homePageClient.ClickClientServicesRibbonButton(); homePageClient.HoverClientServicesRibbonTab(); homePageClient.ClickClientsRibbonButton(); ClientsSearchPage clientsSearchPage = new ClientsSearchPage(ClientDriver); clientsSearchPage.ClickNewClientButton(); ClientPage clientPage = new ClientPage(ClientDriver); clientPage.ClickPageTitle(); clientPage.PopulateNewClient(ClientName); clientPage.ClickSaveCloseButton(); Thread.Sleep(3000); clientsSearchPage = new ClientsSearchPage(ClientDriver); // ADD the Client from the second open window as a Case Party to the Investigation Case driver.SwitchTo().Window(InvestigationWindowHandle); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickPageTitle(); investigationCasePage.ClickAddCasePartyRecordButton(); investigationCasePage.SwitchNewBrowserWithTitle(driver, InvestigationWindowHandle, "Case Party"); CasePartyPage casePartyPage = new CasePartyPage(driver); casePartyPage.ClickPageTitle(); casePartyPage.SetClientName(ClientName); casePartyPage.ClickSaveCloseButton(); Thread.Sleep(3000); driver = driver.SwitchTo().Window(InvestigationWindowHandle); investigationCasePage.ClickSaveCloseButton(); // Verify new Case Management Activity is shown in the Investigation Case which documents that the Case Party was added and by whom. investigationsCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationsCaseSearchPage.SetSearchRecord(investigationID); Table table = new Table(investigationsCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickPageTitle(); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); StringAssert.Contains(table.GetCellContainsValue("Subject", "Case party " + ClientName + " added to case " + investigationID, "Activity Status"), "Completed"); StringAssert.Contains(table.GetCellContainsValue("Subject", "Case party " + ClientName + " added to case " + investigationID, "Modified By"), "SRCRM5-TEAdmin Last Name"); //Client window ClientDriver = ClientDriver.SwitchTo().Window(ClientWindowHandle); clientsSearchPage = new ClientsSearchPage(ClientDriver); clientsSearchPage.SetClientSearchText(ClientName); table = new Table(clientsSearchPage.GetSearchResultTable()); table.ClickCellValue("Full Name", ClientName, "Full Name"); clientPage = new ClientPage(ClientDriver); clientPage.ClickSeeRecordsAssociatedWithThisViewButton("Activities"); clientPage.SwitchToFrame(); clientPage.SetPageFilterList("All Activities", ClientDriver); clientPage.SetFilterOnList("All", ClientDriver); table = new Table(clientPage.GetActivitiesAssociatedViewTable(ClientDriver)); StringAssert.Contains(table.GetCellValue("Subject", "Case party " + ClientName + " added to case " + investigationID, "Activity Status"), "Completed"); StringAssert.Contains(table.GetCellValue("Subject", "Case party " + ClientName + " added to case " + investigationID, "Modified By"), "SRCRM5-TEAdmin Last Name"); // Investigation Case window, SELECT Start Dialog and close the Investigation case driver.SwitchTo().Window(InvestigationWindowHandle); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickPageTitle(); investigationCasePage.ClickStartDialogButton(); table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Close investigation case", "Created On"); investigationCasePage.ClickDialogAddButton(); driver = UICommon.SwitchToNewBrowserWithTitle(driver, InvestigationWindowHandle, "INV:"); INVPage iNVPage = new INVPage(driver); iNVPage.ClickNextButton(); iNVPage.ClickNextButton(); iNVPage.ClickNextButton(); iNVPage.ClickFinishButton(); Thread.Sleep(3000); driver = driver.SwitchTo().Window(InvestigationWindowHandle); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveCloseButton(); // Investigation Case is shown as Inactive. A new Case Management Activity is shown in the Investigation Case which documents that the case was closed and by whom. investigationsCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationsCaseSearchPage.SetPageFilterList("All Investigation Cases"); table = new Table(investigationsCaseSearchPage.GetHeaderSearchResultTable()); table.ClickTableColumnHeader("Case Number"); table = new Table(investigationsCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickPageTitle(); StringAssert.Contains(investigationCasePage.GetStatus(), "Closed"); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + " case closed: Act applies-Insufficient evidence", "Activity Status"), "Completed"); StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + " case closed: Act applies-Insufficient evidence", "Modified By"), "IMSTestU03"); // A new Case Management Activity is shown in the Client which documents that the case was closed and by whom. ClientDriver.SwitchTo().Window(ClientWindowHandle); homePageClient.HoverCRMRibbonTab(); homePageClient.ClickClientServicesRibbonButton(); homePageClient.HoverClientServicesRibbonTab(); homePageClient.ClickClientsRibbonButton(); clientsSearchPage = new ClientsSearchPage(ClientDriver); clientsSearchPage.SetClientSearchText(ClientName); table = new Table(clientsSearchPage.GetSearchResultTable()); table.ClickCellValue("Full Name", ClientName, "Full Name"); clientPage = new ClientPage(ClientDriver); clientPage.ClickSeeRecordsAssociatedWithThisViewButton("Activities"); clientPage.SwitchToFrame(); Thread.Sleep(1000); clientPage.SetPageFilterList("All Activities", ClientDriver); clientPage.SetFilterOnList("All", ClientDriver); table = new Table(clientPage.GetActivitiesAssociatedViewTable(ClientDriver)); Console.WriteLine(table.GetRowCount()); StringAssert.Contains(table.GetCellValue("Subject", investigationID + " case closed: Act applies-Insufficient evidence", "Activity Status"), "Completed"); StringAssert.Contains(table.GetCellValue("Subject", investigationID + " case closed: Act applies-Insufficient evidence", "Modified By"), "IMSTestU03"); // In the Investigation Case, SELECT Start Dialog and Re-Open the case driver.SwitchTo().Window(InvestigationWindowHandle); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickPageTitle(); investigationCasePage.ClickStartDialogButton(); table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Re-open investigation case", "Created On"); investigationCasePage.ClickDialogAddButton(); driver = UICommon.SwitchToNewBrowserWithTitle(driver, InvestigationWindowHandle, "INV:"); iNVPage = new INVPage(driver); iNVPage.ClickNextButton(); iNVPage.ClickNextButton(); iNVPage.ClickFinishButton(); driver = driver.SwitchTo().Window(InvestigationWindowHandle); investigationCasePage = new InvestigationCasePage(driver); homePageInvestigation.HoverInvestigationsRibbonTab(); homePageInvestigation.ClickInvestigationsCasesRibbonButton(); investigationsCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationsCaseSearchPage.SetSearchRecord(investigationID); table = new Table(investigationsCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); // Investigation Case is shown as Active. A new Case Management Activity is shown in the Investigation Case which documents that the case was closed and by whom. investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickPageTitle(); StringAssert.Contains(investigationCasePage.GetStatus(), "Case finalisation"); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + " case re-opened: Case finalisation - Case closed discussion", "Activity Status"), "Completed"); StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + " case re-opened: Case finalisation - Case closed discussion", "Modified By"), "IMSTestU03"); // A new Case Management Activity is shown in the Client which documents that the case was reopened and by whom. ClientDriver.SwitchTo().Window(ClientWindowHandle); homePageClient.HoverClientServicesRibbonTab(); homePageClient.ClickClientsRibbonButton(); clientsSearchPage = new ClientsSearchPage(ClientDriver); clientsSearchPage.SetClientSearchText(ClientName); table = new Table(clientsSearchPage.GetSearchResultTable()); table.ClickCellValue("Full Name", ClientName, "Full Name"); clientPage = new ClientPage(ClientDriver); clientPage.ClickSeeRecordsAssociatedWithThisViewButton("Activities"); clientPage.SwitchToFrame(); Thread.Sleep(1000); clientPage.SetPageFilterList("All Activities", ClientDriver); clientPage.SetFilterOnList("All", ClientDriver); table = new Table(clientPage.GetActivitiesAssociatedViewTable(ClientDriver)); StringAssert.Contains(table.GetCellValue("Subject", investigationID + " case re-opened: Case finalisation - Case closed discussion", "Activity Status"), "Completed"); StringAssert.Contains(table.GetCellValue("Subject", investigationID + " case re-opened: Case finalisation - Case closed discussion", "Modified By"), "IMSTestU03"); }
public void ATC5286_CRMInvestigationMasterCaseAssociatedCaseStatusChange() { #region Start Up Excel MyBook = MyApp.Workbooks.Open(DatasourceDir + @"\Investigations.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, InvestigationSchema.GetColumnIndex(ColumnName.CLIENT_NAME)].Value; //Login in as role User user = this.environment.GetUser(SecurityRole.InvestigationsOfficer); new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); String HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsCasesRibbonButton(); // Create new investigation case InvestigationCaseSearchPage investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.ClickNewInvestigationCaseButton(); InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); String investigationID1 = investigationCasePage.GetInvestigationCaseNumber(); Thread.Sleep(1000); investigationCasePage.ClickSaveCloseButton(); investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.ClickNewInvestigationCaseButton(); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); String investigationID2 = investigationCasePage.GetInvestigationCaseNumber(); Thread.Sleep(1000); investigationCasePage.ClickSaveCloseButton(); investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); driver = driver.SwitchTo().Window(HomeWindow); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsMasterCasesRibbonButton(); InvestigationMasterCaseSearchPage investigationMasterCasesSearchPage = new InvestigationMasterCaseSearchPage(driver); string BaseWindow = driver.CurrentWindowHandle; investigationMasterCasesSearchPage.ClickNewButton(); InvestigationMasterCasePage investigationMasterCasePage = new InvestigationMasterCasePage(driver); string MasterWindow = driver.CurrentWindowHandle; investigationMasterCasePage.SetClientValue(clientName); investigationMasterCasePage.ClickSaveButton(); String investigationMasterID = investigationMasterCasePage.GetInvestigationMasterCaseNumber(); investigationMasterCasePage.ClickInvestigationCaseAddButton(); investigationMasterCasePage.SetInvestigationCaseNumberToAssociateMaster(investigationID1); investigationMasterCasePage.ClickInvestigationCaseAddButton(); investigationMasterCasePage.SetInvestigationCaseNumberToAssociateMaster(investigationID2); // Confirm user can view the current status and sub status of each linked Investigation Case Table table = new Table(investigationMasterCasePage.GetInvestigationCasesSearchResultTable()); Assert.AreEqual("New case", table.GetCellValue("Case Number", investigationID1, "Investigation Status")); Assert.AreEqual("Creation", table.GetCellValue("Case Number", investigationID1, "Investigation Sub Status")); Assert.AreEqual("New case", table.GetCellValue("Case Number", investigationID2, "Investigation Status")); Assert.AreEqual("Creation", table.GetCellValue("Case Number", investigationID2, "Investigation Sub Status")); table.ClickCell("Case Number", investigationID2, "Case Number"); investigationMasterCasePage.ClickInvestigationCaseAssociatedView(); driver = driver.SwitchTo().Window(BaseWindow); // Confirm 'Investigation Case Associated View' displayed Assert.AreEqual("Investigation Case Associated View", investigationMasterCasePage.GetCurrentView()); // Select associated Investigation Case to update investigationMasterCasePage.SwitchToMasterCasePageFrame(); table = new Table(investigationMasterCasePage.GetInvestigationCasesAssociatedViewTable()); table.ClickCellValue("Case Number", investigationID2, "Case Number"); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickPageTitle(); string CaseWindow = driver.CurrentWindowHandle; investigationCasePage.ClickRunWorkflowButton(); // From 'Run Workflow' select 'Update Status: New Case - Creation' process table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "Update Status: New Case - Creation", "Created On"); investigationCasePage.ClickDialogAddButton(); Thread.Sleep(400); investigationCasePage.ClickConfirmApplicationOfWindow(BaseWindow); driver = driver.SwitchTo().Window(CaseWindow); Thread.Sleep(400); investigationCasePage.ClickSaveCloseButton(); investigationMasterCasePage = new InvestigationMasterCasePage(driver); investigationMasterCasePage.ClickSaveCloseButton(); investigationMasterCasesSearchPage = new InvestigationMasterCaseSearchPage(driver); investigationMasterCasesSearchPage.SearchRecord(investigationMasterID); table = new Table(investigationMasterCasesSearchPage.GetSearchResultTable()); table.ClickCellContainsValueEnterRow("Master Case ID", investigationMasterID, "Master Case ID"); investigationMasterCasePage = new InvestigationMasterCasePage(driver); table = new Table(investigationMasterCasePage.GetInvestigationCasesSearchResultTable()); table.ClickCellValue("Case Number", investigationID2, "Case Number"); // Confirm that Status - sub statuses updated to 'New Case - Initial assessment' investigationCasePage = new InvestigationCasePage(driver); StringAssert.Contains(investigationCasePage.GetStatus(), "New case"); StringAssert.Contains(investigationCasePage.GetSubStatus(), "Initial assessment"); table = new Table(investigationCasePage.GetActivitiesHeaderTable()); table.ClickTableColumnHeader("Subject"); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); // Confirm mandatory tasks for Investigation Cases updated are created for that status and sub status StringAssert.Contains(table.GetCellContainsValue("Subject", 1), investigationID2 + ": Add parties"); StringAssert.Contains(table.GetCellContainsValue("Subject", 2), investigationID2 + ": Allocate"); StringAssert.Contains(table.GetCellContainsValue("Subject", 3), investigationID2 + ": Carry out initial assessment"); StringAssert.Contains(table.GetCellContainsValue("Subject", 4), investigationID2 + ": Scan documents"); StringAssert.Contains(table.GetCellContainsValue("Subject", 5), investigationID2 + ": Submit for initial assessment"); Assert.AreEqual(5, table.GetRowCount() - 1, "Additional activities are displayed!!!!"); #region Shut down Excel MyBook.Save(); MyBook.Close(); MyApp.Quit(); #endregion }
public void ATC5429_CRMInvestigationVerifyInitialAssessmentQueue() { 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.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsCasesRibbonButton(); InvestigationCaseSearchPage investigationsCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationsCaseSearchPage.ClickNewInvestigationCaseButton(); // Create new case and validate Status and Substatus fields InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); String caseNumber = investigationCasePage.GetInvestigationCaseNumber(); String BaseWindow = driver.CurrentWindowHandle; // Add the case to Support Officers Queue investigationCasePage.ClickAddToQueueButton(); investigationCasePage.SetQueue("Investigations Initial Assessment"); investigationCasePage.ClickDialogAddButton(); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickSaveCloseButton(); // Close the current window and login with Investigation Officer driver.Close(); driver = null; this.TestSetup(); user = this.environment.GetUser(SecurityRole.InvestigationsOfficer); new LoginDialog().Login(user.Id, user.Password); // Verify the Support Officers queue homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsQueuesRibbonButton(); // Verify the "Initial Assessment queue" QueueSearchPage investigationQueueSearchPage = new QueueSearchPage(driver); investigationQueueSearchPage.SetPageFilterList("All Items"); investigationQueueSearchPage.SetQueue("Investigations Initial Assessment"); // Need to check with Paul Table table = new Table(investigationQueueSearchPage.GetHeaderSearchResultTable()); table.ClickTableColumnHeader("Entered Queue"); table.ClickTableColumnHeader("Entered Queue"); table = new Table(investigationQueueSearchPage.GetSearchResultTable()); table.GetCellValue("Title", caseNumber, "Title"); }
public void ATC3328_CRMInvestigationReopenCaseProvidingAReason() { //Login in as role //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.ClickInvestigationsCasesRibbonButton(); // Create new investigation case InvestigationCaseSearchPage investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.ClickNewInvestigationCaseButton(); InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); string investigationID = investigationCasePage.GetInvestigationCaseNumber(); investigationCasePage.ClickStartDialogButton(); Table table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Close investigation case", "Created On"); string BaseWindow = driver.CurrentWindowHandle; //Records the current window handle investigationCasePage.ClickDialogAddButton(); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "INV:"); INVPage iNVPage = new INVPage(driver); iNVPage.ClickNextButton(); iNVPage.ClickNextButton(); string todayDate = DateTime.Today.ToString("dd-MM-yyyy"); iNVPage.SetDate(todayDate); iNVPage.ClickNextButton(); iNVPage.ClickFinishButton(); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickSaveCloseButton(); investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.SetPageFilterList("Inactive Investigation Cases"); table = new Table(investigationCaseSearchPage.GetHeaderSearchResultTable()); table.ClickTableColumnHeader("Case Number"); table = new Table(investigationCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickStartDialogButton(); table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Re-open investigation case", "Created On"); string BaseWindow1 = driver.CurrentWindowHandle; investigationCasePage.ClickDialogAddButton(); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "INV:"); iNVPage = new INVPage(driver); iNVPage.ClickNextButton(); String reason="Automation test"; iNVPage.SetSubStatusReason(reason); iNVPage.ClickNextButton(); iNVPage.ClickFinishButton(); driver = driver.SwitchTo().Window(BaseWindow1); driver.Navigate().Refresh(); investigationCasePage = new InvestigationCasePage(driver); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); table.ClickCell("Subject", investigationID + " case re-opened: Case finalisation - Case closed discussion", "Subject"); Thread.Sleep(1000); InvestigationCaseManagementActivity caseManagementActivity = new InvestigationCaseManagementActivity(driver); Assert.AreEqual(reason, caseManagementActivity.GetDescription()); }
public void ATC6790_TenancyRequestRoomingAccomodation() { #region Start Up Excel MyBook = MyApp.Workbooks.Open(DatasourceDir + @"\TenancyRequests.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() == "6790") { MyRow = i; break; } } #endregion string initialRequestParty = MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("INITIAL_REQUEST_PARTY")].Value.ToString(); string initialContribution = MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("INITIAL_CONTRIBUTION")].Value.ToString(); //Login as RBS user User user = this.environment.GetUser(SecurityRole.RBSOfficer); new LoginDialog().Login(user.Id, user.Password); //Navigate to: Rental Bond Services > Tenancy Requests HomePage homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickRBSRibbonButton(); homePage.HoverRBSRibbonTab(); homePage.ClickRtaTenancyRequestRibbonButton(); TenancyRequestsSearchPage tenancyRequestSearchPage = new TenancyRequestsSearchPage(driver); tenancyRequestSearchPage.SetPageFilterList("All Tenancy Requests"); Table table = new Table(tenancyRequestSearchPage.GetHeaderSearchResultTable()); table.ClickTableColumnHeader("Created On"); table.ClickTableColumnHeader("Created On"); Table searchTable = new Table(tenancyRequestSearchPage.GetSearchResultTable()); string lastCreatedTenancyReqNo = searchTable.GetCellContainsValue("Name", "TR-BL", "Name"); //(Template) - Create new Tenancy Request (Bond Lodgement) tenancyRequestSearchPage.ClickNewTenancyRequestButton(); TenancyRequestPage tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.ClickPageTitle(); //Set {Type} field to Bond Lodgement. tenancyRequestPage.SetRequestTypeListValue("Bond Lodgement"); tenancyRequestPage.SetTenancyTypeListValue("Rooming Accommodation"); //Check Dwelling Type field 1. Lookup list filtered to only: [ Boarding House | Supported Accommodation | Student Accommodation off Campus |Studio] Assert.IsTrue(tenancyRequestPage.GetDwellingTypeText("Boarding House")); tenancyRequestPage.ClickPageTitle(); Assert.IsTrue(tenancyRequestPage.GetDwellingTypeText("Supported Accommodation")); tenancyRequestPage.ClickPageTitle(); Assert.IsTrue(tenancyRequestPage.GetDwellingTypeText("Student Accommodation off Campus")); tenancyRequestPage.ClickPageTitle(); Assert.IsTrue(tenancyRequestPage.GetDwellingTypeText("Studio")); //Set Dwelling Type to Boarding House.Number of Bedrooms defaults to 1 and shows as read only tenancyRequestPage.SetDwellingTypeListValue("Boarding House"); tenancyRequestPage.ClickPageTitle(); StringAssert.Contains(tenancyRequestPage.GetNumberOfBedrooms(), "1"); StringAssert.Contains(tenancyRequestPage.GetNumberOfBedroomsProperty("data-controlmode"), "locked"); //Set Dwelling Type to Supported Accommodation.Number of Bedrooms defaults to 1 and shows as read only tenancyRequestPage.SetDwellingTypeListValue("Supported Accommodation"); tenancyRequestPage.ClickPageTitle(); StringAssert.Contains(tenancyRequestPage.GetNumberOfBedrooms(), "1"); StringAssert.Contains(tenancyRequestPage.GetNumberOfBedroomsProperty("data-controlmode"), "locked"); //Set Dwelling Type to Studio Number of Bedrooms defaults to 1 and shows as read only tenancyRequestPage.SetDwellingTypeListValue("Studio"); tenancyRequestPage.ClickPageTitle(); StringAssert.Contains(tenancyRequestPage.GetNumberOfBedrooms(), "1"); StringAssert.Contains(tenancyRequestPage.GetNumberOfBedroomsProperty("data-controlmode"), "locked"); //Set Dwelling Type to Student Accommodation off Campus.Number of Bedrooms defaults to 1 and shows as read only tenancyRequestPage.SetDwellingTypeListValue("Student Accommodation off Campus"); tenancyRequestPage.ClickPageTitle(); StringAssert.Contains(tenancyRequestPage.GetNumberOfBedrooms(), "1"); StringAssert.Contains(tenancyRequestPage.GetNumberOfBedroomsProperty("data-controlmode"), "locked"); //Check Management Type field. Lookup list filtered to only: [ Owner (or can be Lessor/Owner) | Real Estate Agent | Manager/provider | Other ] Assert.IsTrue(tenancyRequestPage.GetTenancyManagementTypeListValue("Lessor/Owner")); Assert.IsTrue(tenancyRequestPage.GetTenancyManagementTypeListValue("Real Estate Agent")); Assert.IsTrue(tenancyRequestPage.GetTenancyManagementTypeListValue("Manager/provider")); Assert.IsTrue(tenancyRequestPage.GetTenancyManagementTypeListValue("Other")); //Set Rental Premise to an address with the following details: [Type, "Australian Physical" | Locality populated | Room/Site Number NOT populated] //Example:"33 SHORE ST, EAST BRISBANE, QLD, 4169" string roadnumber = "33"; string roadname = "SHORE ST"; string locality = "EAST BRISBANE, QLD, 4169"; tenancyRequestPage.CreateNewAddress(roadnumber,roadname,locality); tenancyRequestPage = new TenancyRequestPage(driver); //Populate mandatory fields. Save record. tenancyRequestPage.SetManagingPartyListValue(MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("MANAGING_PARTY")].Value.ToString()); tenancyRequestPage.SetTenancyManagementTypeListValue(MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("MANAGEMENT_TYPE")].Value.ToString()); tenancyRequestPage.SetInitialRequestPartyWithSearch(MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("INITIAL_REQUEST_PARTY")].Value.ToString()); tenancyRequestPage.SetInitialConrtibution(MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("INITIAL_CONTRIBUTION")].Value.ToString()); tenancyRequestPage.SetAmountPaidWithLodgement(MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("AMOUNT_PAID_LODGEMENT")].Value.ToString()); tenancyRequestPage.SetLodgementTypeListValue(MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("LODGEMENT_TYPE")].Value.ToString()); tenancyRequestPage.ClickSaveButton(); //Record saves. Soft warning (Missing room number): DISPLAYED StringAssert.Contains(tenancyRequestPage.GetWarningMessage(), "The selected address does not have a Room/Site number."); /*The Name field for the Tenancy Request will be populated with 'TR-BL-' and concatenated with the Reference Number field that will be populated with increments of 1 from the most recent Tenancy request record. Example: Given the most recent Tenancy Request name is 'TR-BL-20000016' then this record will be 'TR-BL-20000017'*/ string tenancyRequest = tenancyRequestPage.GetRequestNumber(); StringAssert.Contains(tenancyRequest, "TR-BL", "Validating the newly created tenancy request has TR-BL format"); int oldTRNo = Int32.Parse(lastCreatedTenancyReqNo.Split('-')[2]); int newTRNo = Int32.Parse(tenancyRequest.Split('-')[2]); Assert.AreEqual(oldTRNo + 1, newTRNo, "Validating the TR No is incremented by 1 from the last created TR"); tenancyRequestPage.ClickSaveCloseButton(); tenancyRequestSearchPage = new TenancyRequestsSearchPage(driver); tenancyRequestSearchPage.SetTenancyRequestSearchText(tenancyRequest); searchTable = new Table(tenancyRequestSearchPage.GetSearchResultTable()); //Check record in record grid. As updated/entered StringAssert.Contains(searchTable.GetCellContainsValue("Name",tenancyRequest,"Tenancy Type"), "Rooming Accommodation"); StringAssert.Contains(searchTable.GetCellContainsValue("Name",tenancyRequest,"Managing Party"),MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("MANAGING_PARTY")].Value.ToString()); StringAssert.Contains(searchTable.GetCellContainsValue("Name",tenancyRequest,"Rental Premises"),MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("RENTAL_PREMISES")].Value.ToString()); StringAssert.Contains(searchTable.GetCellContainsValue("Name", tenancyRequest, "Dwelling Type"), "Student Accommodation off Campus"); StringAssert.Contains(searchTable.GetCellContainsValue("Name", tenancyRequest, "Amount Bond Paid with Lodgement").Replace(",",""), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("AMOUNT_PAID_LODGEMENT")].Value.ToString()); searchTable.ClickCellContainsValue("Name", tenancyRequest, "Name"); //Remove Rental Premise address. Save record. Record not saved as field is mandatory. tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.ClickPageTitle(); tenancyRequestPage.ClearRentalPremisesValue(); tenancyRequestPage.ClickSaveButton(); StringAssert.Contains(tenancyRequestPage.GetRentalPremiseAddressErrorText(), "You must provide a value for Rental Premises."); tenancyRequestPage.ClickPageTitle(); //Set Rental Premise to an address with the following details: [Type, "Australian Physical" | Locality populated | Room/Site Number populated] //Example: "RM 4, 33 SHORE ST, EAST BRISBANE, QLD, 4101" Record saves. Soft warning (Missing room number): NOT DISPLAYED string roomtype = "Room"; string roomno = "4"; tenancyRequestPage.CreateNewAddress(roadnumber, roadname, locality, roomtype, roomno); tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.ClickSaveButton(); Assert.IsFalse(tenancyRequestPage.GetWarningMessage().Contains("The selected address does not have a Room/Site number.")); tenancyRequestPage.ClickSaveCloseButton(); //Check record in record grid As updated/entered tenancyRequestSearchPage = new TenancyRequestsSearchPage(driver); tenancyRequestSearchPage.SetTenancyRequestSearchText(tenancyRequest); searchTable = new Table(tenancyRequestSearchPage.GetSearchResultTable()); StringAssert.Contains(searchTable.GetCellContainsValue("Name", tenancyRequest, "Rental Premises"), "RM 4, 33 SHORE ST, EAST BRISBANE, QLD, 4169"); #region Shut down Excel MyBook.Save(); MyBook.Close(); MyApp.Quit(); #endregion }
public void ATC5513_CRMClientUnknownClientUpdation() { //Login in as Investigations Officer role User user = this.environment.GetUser(SecurityRole.InvestigationsOfficer); new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); string HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); homePage.ClickClientServicesRibbonButton(); homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener")); Trace.TraceInformation("Create new client start:" + DateTime.Now.ToString("ddMMyyyyhhmmssffff")); Trace.Flush(); ClientsSearchPage clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.ClickNewClientButton(); ClientPage clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); clientPage.SetUnknownClientListValues("Yes"); clientPage.SetGivenName("Given Name"); clientPage.SetMiddleName("Middle Name"); clientPage.ClickSaveButton(); string ClientID = clientPage.GetClientID(); clientPage.ClickSaveCloseButton(); Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener")); Trace.TraceInformation("Create new client end:" + DateTime.Now.ToString("ddMMyyyyhhmmssffff")); Trace.Flush(); // Select VIEW: Active Clients - UNKNOWN- clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetPageFilterList("Active Clients -UNKNOWN-"); Table table = new Table(clientsSearchPage.GetHeaderSearchResultTable()); table.ClickTableColumnHeader("RTA Client Id"); table.ClickTableColumnHeader("RTA Client Id"); // allow the client record to be created for the first name and populate the client surname with a standard token that is easy to identify and search on table = new Table(clientsSearchPage.GetSearchResultTable()); StringAssert.Contains(table.GetCellValue("RTA Client Id", ClientID, "Full Name"), "GIVEN NAME MIDDLE NAME -UNKNOWN-"); table.ClickCellValue("RTA Client Id", ClientID, "Full Name"); clientPage = new ClientPage(driver); // allow Investigation User to update the client surname. clientPage.ClickPageTitle(); clientPage.SetUnknownClientListValues("No"); clientPage.SetFamilyName("Family Name"); clientPage.ClickSaveCloseButton(); Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener")); Trace.TraceInformation("Search by Client ID start:" + DateTime.Now.ToString("ddMMyyyyhhmmssffff")); Trace.Flush(); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetPageFilterList("Active Clients"); clientsSearchPage.SetClientSearchText(ClientID); table = new Table(clientsSearchPage.GetSearchResultTable()); StringAssert.Contains(table.GetCellValue("RTA Client Id", ClientID, "Full Name"), "GIVEN NAME MIDDLE NAME FAMILY NAME"); Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener")); Trace.TraceInformation("Search by Client ID end:" + DateTime.Now.ToString("ddMMyyyyhhmmssffff")); Trace.Flush(); table.ClickCellValue("RTA Client Id", ClientID, "Full Name"); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); clientPage.SetUnknownClientListValues("Yes"); clientPage.ClickSaveCloseButton(); driver.Quit(); driver = null; this.TestSetup(); user = this.environment.GetUser(SecurityRole.RecordKeepingOfficers); new LoginDialog().Login(user.Id, user.Password); homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickClientServicesRibbonButton(); homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetPageFilterList("Active Clients -UNKNOWN-"); table = new Table(clientsSearchPage.GetHeaderSearchResultTable()); table.ClickTableColumnHeader("RTA Client Id"); table.ClickTableColumnHeader("RTA Client Id"); table = new Table(clientsSearchPage.GetSearchResultTable()); table.ClickCellValue("RTA Client Id", ClientID, "Full Name"); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); // Verify that Family name and Unknown Client Fields are locked Assert.IsTrue(clientPage.VerifyElementLocked("rta_unknownclient"),"Unknown Field is NOT locked !!!!!"); Assert.IsTrue(clientPage.VerifyElementLocked("lastname"), "Lastename Field is NOT locked !!!!!"); }
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 ATC4440_CRMClientPhoneDelete() { //Login as CRM default user. User user = this.environment.GetUser(SecurityRole.GeneralStaff); new LoginDialog().Login(user.Id, user.Password); /* Person Client is needed with following fields populated: - Personal Mobile - Personal Preferred Contact Number - Work Preferred Contact Number - Fax*/ string clientName = "CLIENT PHONEDEL" + 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(); Thread.Sleep(1000); clientPage.SetFamilyName(clientName); clientPage.ClickSaveButton(); //Navigate to client phone numbers driver = driver.SwitchTo().Window(HomeWindow); homePage.HoverClientXRibbonTab(clientName); homePage.ClickClientXPhoneNumbersRibbonButton(); //Add new phone numbers clientPage = new ClientPage(driver); string BaseWindow = driver.CurrentWindowHandle; clientPage.ClickAddNewClientPhoneImage(); //Enter payment reference details driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "Client Phone Number"); //Assert availability list ClientPhoneNumberPage clientPhoneNumberPage = new ClientPhoneNumberPage(driver); //Create Fixed Line Number clientPhoneNumberPage.SetTypeListValue("Fixed Line"); clientPhoneNumberPage.SetAreaCodeValue("07"); clientPhoneNumberPage.SetPhoneNumberValue("11111111"); clientPhoneNumberPage.ClickSaveButton(); //Assert new phone number has saved string FixedLineNumber = clientPhoneNumberPage.GetPhoneNumber(); clientPhoneNumberPage.ClickNewButton(); clientPhoneNumberPage.ClickPageTitle(); clientPhoneNumberPage.SetClientNameList(clientName); clientPhoneNumberPage.SetTypeListValue("Mobile"); clientPhoneNumberPage.SetPhoneNumberValue("0422222222"); clientPhoneNumberPage.ClickSaveButton(); //Assert new phone number has saved string MobileNumber = clientPhoneNumberPage.GetPhoneNumber(); clientPhoneNumberPage.ClickNewButton(); clientPhoneNumberPage.ClickPageTitle(); clientPhoneNumberPage.SetClientNameList(clientName); clientPhoneNumberPage.SetTypeListValue("Fax"); clientPhoneNumberPage.SetAreaCodeValue("07"); clientPhoneNumberPage.SetPhoneNumberValue("33333333"); clientPhoneNumberPage.ClickSaveButton(); //Assert new phone number has saved string FaxNumber = clientPhoneNumberPage.GetPhoneNumber(); clientPhoneNumberPage.ClickNewButton(); clientPhoneNumberPage.ClickPageTitle(); clientPhoneNumberPage.SetClientNameList(clientName); clientPhoneNumberPage.SetTypeListValue("Pager"); clientPhoneNumberPage.SetAreaCodeValue("07"); clientPhoneNumberPage.SetPhoneNumberValue("44444444"); clientPhoneNumberPage.ClickSaveButton(); //Assert new phone number has saved string PagerNumber = clientPhoneNumberPage.GetPhoneNumber(); clientPhoneNumberPage.ClickSaveCloseButton(); clientPhoneNumberPage.ClickSaveCloseButton(); clientPhoneNumberPage.ClickSaveCloseButton(); clientPhoneNumberPage.ClickSaveCloseButton(); // Verify that Activities table is not showing any activity driver = driver.SwitchTo().Window(HomeWindow); homePage.ClickClientXRibbonTab(clientName); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); Table table = new Table(UICommon.GetSearchResultTable(driver)); Assert.IsTrue(table.GetNoRecordsInTable(), "Client Phone Number Updation Activity Getting displayed !!!!!"); // Update the Personal Mobile, Personal Preferred Contact Number, Work Preferred Contact Number and Fax and save the record clientPage.SetMobileNumber(MobileNumber); clientPage.SetPersonalPreferredMobileNumber(FixedLineNumber); clientPage.SetWorkPreferredNumber(PagerNumber); clientPage.SetFaxNumber(FaxNumber); clientPage.ClickSaveButton(); string clientId = clientPage.GetClientID(); clientPage.ClickSaveCloseButton(); //Clients Services > Clients Double click on the prepared record clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetClientSearchText(clientId); table = new Table(clientsSearchPage.GetSearchResultTable()); table.ClickCellValue("RTA Client Id", clientId, "Full Name"); clientPage = new ClientPage(driver); clientPage.ClickPageTitle(); Thread.Sleep(500); string date = DateTime.Today.ToString("d/MM/yyyy"); string time = DateTime.Now.ToString("h:mm tt"); /*Clear the following fields and save record: - Personal Mobile - Personal Preferred Contact Number - Work Preferred Contact Number - Fax*/ clientPage.ClearMobileNumber(); clientPage.ClickPageTitle(); clientPage.ClearPersonalPreferredMobileNumber(); clientPage.ClickPageTitle(); clientPage.ClearWorkPreferredNumber(); clientPage.ClickPageTitle(); clientPage.ClearFaxNumber(); clientPage.ClickSaveCloseButton(); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetClientSearchText(clientId); table = new Table(clientsSearchPage.GetSearchResultTable()); table.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()); Assert.IsTrue(activitiesTable.MatchingCellFound("Subject", "Client Profile Phone Number updated"), "Client Phone Number Updation Activity NOT displayed !!!!!"); activitiesTable.ClickCellValue("Subject", "Client Profile Phone Number updated", "Subject"); //Client Management Activity is created as a note to users that the phone numbers were changed (includes current value of each field and a note referring the user to audit history). ClientManagementActivityPage activityPage = new ClientManagementActivityPage(driver); activityPage.ClickPageTitle(); StringAssert.Contains(activityPage.GetDescription(), "Personal Mobile: [no value]"); StringAssert.Contains(activityPage.GetDescription(), "Personal Preferred Contact Number: [no value]"); StringAssert.Contains(activityPage.GetDescription(),"Work Preferred Contact Number: [no value]"); StringAssert.Contains(activityPage.GetDescription(), "Fax: [no value]"); StringAssert.Contains(activityPage.GetDescription(), "Note: the current values are displayed above. Refer to Audit History against the Client record for more information."); homePage.HoverCRMRibbonTab(); homePage.ClickClientServicesRibbonButton(); homePage.HoverClientServicesRibbonTab(); homePage.ClickClientsRibbonButton(); clientsSearchPage = new ClientsSearchPage(driver); clientsSearchPage.SetPageFilterList("Active Clients"); clientsSearchPage.SetClientSearchText(clientId); Table clientTable = new Table(clientsSearchPage.GetSearchResultTable()); IWebElement clientCell = clientTable.GetCellElementContainsValue("RTA Client Id", clientId, "Full Name"); UICommon.DoubleClickElement(clientCell, driver); Thread.Sleep(5000); clientPage = new ClientPage(driver, "Clients Quick"); /*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.HoverClientRibbonTab(clientName); homePage.ClickClientXAuditRibbonButton(); clientPage = new ClientPage(driver, "Clients Quick"); Thread.Sleep(2000); /*Audit history shows: - What was deleted - Who deleted it - When it was deleted - What previous value was*/ Table auditTable = new Table(clientPage.GetAuditHistoryTable()); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Changed Field"), "Fax"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Changed Field"), "Mobile"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Changed Field"), "Personal Preferred Contact Number"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Changed Field"), "Work Preferred Contact Number"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Old Value"), "+61 7 3333 3333"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Old Value"), "+61 422 222 222"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Old Value"), "+61 7 3333 3333"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Old Value"), "+61 7 1111 1111"); StringAssert.Contains(auditTable.GetCellValue("Event", "Update", "Old Value"), "+61 7 4444 4444"); 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")); }