public void ATC6622_CRMInvestigationValidateMandatoryTasksForPendingSubStatus() { //Login in as role User user = this.environment.GetUser(SecurityRole.InvestigationsOfficer); 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); string BaseWindow = driver.CurrentWindowHandle; investigationCasePage.ClickPageTitle(); investigationCasePage.SetSubStatus("Case pending"); investigationCasePage.ClickPageTitle(); investigationCasePage.ClickSaveButton(); string investigationID = investigationCasePage.GetInvestigationCaseNumber(); investigationCasePage.ClickSaveCloseButton(); // Search for the Investigation Case ID investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.SetSearchRecord(investigationID); Table table = new Table(investigationCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickPageTitle(); investigationCasePage.SetPageFilterList("All Activities"); Thread.Sleep(1000); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); // Verify that we are having 2 completed and 2 open activities StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + ": Set future date", "Activity Status"), "Open"); Assert.AreEqual( 1, table.GetRowCount() - 1 , "Additional tasks are created for Case pending status"); }
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 ATC5428_CRMInvestigationVerifySupportOfficerQueue() { 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(); 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 Support Officers"); investigationCasePage.ClickDialogAddButton(); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickPageTitle(); investigationCasePage.ClickSaveCloseButton(); // Verify the Support Officers queue driver.SwitchTo().Window(HomeWindow); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsQueuesRibbonButton(); // Verify the "Support Officers queue" QueueSearchPage investigationQueueSearchPage = new QueueSearchPage(driver); investigationQueueSearchPage.SetSearchRecord(caseNumber); investigationQueueSearchPage.SetQueue("Investigations Support Officers"); Table table = new Table (investigationQueueSearchPage.GetSearchResultTable()); Assert.AreEqual(1, table.GetRowCount(), "Investigation Case is not added to Support Officers Queue"); }
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 ATC3327_CRMInvestigationCloseCaseWithMultipleOpenCloseActions() { //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.ClickSaveCloseButton(); // Search for the Investigation Case ID investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.SetSearchRecord(investigationID); Table table = new Table(investigationCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); driver.Navigate().Refresh(); Thread.Sleep(1000); investigationCasePage = new InvestigationCasePage(driver); string BaseWindow = driver.CurrentWindowHandle; //Records the current window handle investigationCasePage.SetPageFilterList("All Activities"); Thread.Sleep(1000); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); // Add 1st completed activity investigationCasePage.ClickActivitiesAddButton(); investigationCasePage.ClickAddTaskButton("Task"); //Enter Request Party details driver = investigationCasePage.SwitchNewBrowser(driver, BaseWindow); TaskPage taskPage = new TaskPage(driver); Thread.Sleep(100); taskPage.ClickPageTitle(); taskPage.SetSelectSubjectValue("Relevant address added"); taskPage.ClickSaveButton(); taskPage.ClickMarkCompleteButton(); driver = driver.SwitchTo().Window(BaseWindow); // Add 2nd completed activity investigationCasePage.ClickPageTitle(); investigationCasePage.ClickActivitiesAddButton(); BaseWindow = driver.CurrentWindowHandle; //Records the current window handle investigationCasePage.ClickAddTaskButton("Task"); //Enter Request Party details driver = investigationCasePage.SwitchNewBrowser(driver, BaseWindow); Thread.Sleep(100); taskPage = new TaskPage(driver); taskPage.ClickPageTitle(); taskPage.SetSelectSubjectValue("Allocate to investigator"); taskPage.ClickSaveButton(); taskPage.ClickMarkCompleteButton(); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickPageTitle(); investigationCasePage.SetPageFilterList("All Activities"); Thread.Sleep(1000); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); // Verify that we are having 2 completed and 2 open activities StringAssert.Contains(table.GetCellContainsValue("Subject", "Relevant address added", "Activity Status"), "Completed"); StringAssert.Contains(table.GetCellContainsValue("Subject", "Allocate to investigator", "Activity Status"), "Completed"); StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + ": Scan documents", "Activity Status"), "Open"); StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + ": Add parties", "Activity Status"), "Open"); StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + ": Submit for initial assessment", "Activity Status"), "Open"); Assert.AreEqual(5, table.GetRowCount()-1, "Additional activities seen"); // Now try to close the case investigationCasePage.ClickStartDialogButton(); table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Close investigation case", "Created On"); 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); // Now Investigation case is closed.. verify that this case is not seen in active Investigation case investigationCasePage.ClickSaveCloseButton(); investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.SetPageFilterList("Active Investigation Cases"); investigationCaseSearchPage.SetSearchRecord(investigationID); StringAssert.Contains(driver.FindElement(By.ClassName("ms-crm-List-MessageText")).Text, "No Investigation Case records are available in this view."); }
public void ATC3326_CRMInvestigationUserAccessToRecordOutcomeOfAllegedOffence() { string[] allowedUserName = { "Investig ationsOfficer", "Investigations", "InvestigationsManager", "InvestigationsBusinessAdmin", "InvestigationsOfficer", "ESOForPES", "ExecutiveManagerForPES" }; string[] notAllowedUserName = { "GeneralStaff", "RBSOfficer","IMSBusinessSupportStaff" ,"ResearchOfficers","RecordKeepingOfficers"}; bool LastIteration = false; // CAN User user = this.environment.GetUser(SecurityRole.InvestigationOfficer); for (int i = 0; i < allowedUserName.Length; i++) { //Login in as role switch (i) { case 0: user = this.environment.GetUser(SecurityRole.InvestigationOfficer); break; case 1: user = this.environment.GetUser(SecurityRole.Investigations); break; case 2: user = this.environment.GetUser(SecurityRole.InvestigationsManager); break; case 3: user = this.environment.GetUser(SecurityRole.InvestigationsBusinessAdmin); break; case 4: user = this.environment.GetUser(SecurityRole.InvestigationsOfficer); break; case 5: user = this.environment.GetUser(SecurityRole.ESOForPES); break; case 6: user = this.environment.GetUser(SecurityRole.ExecutiveManagerForPES); LastIteration = true; break; } new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); String HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsCasesRibbonButton(); // Select the 'All Investigation Cases' view from the table InvestigationCaseSearchPage investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.ClickNewInvestigationCaseButton(); InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); string investigationID = investigationCasePage.GetInvestigationCaseNumber(); investigationCasePage.ClickSaveCloseButton(); driver = driver.SwitchTo().Window(HomeWindow); homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickRightScrollRibbonButton(); homePage.ClickAllegedOffencesButton(); AllegendOffensesSearchPage allegedOffencesSearchPage = new AllegendOffensesSearchPage(driver); allegedOffencesSearchPage.ClickNewAllegedOffenceButton(); AllegedOffencePage allegedOffencesPage = new AllegedOffencePage(driver); allegedOffencesPage.SetInvestigationCaseValue(investigationID); allegedOffencesPage.SetProvisionValue("RTRA 116(1)"); allegedOffencesPage.ClickSaveButton(); string allegedoffenceId = allegedOffencesPage.GetReferenceNumber(); allegedOffencesPage.ClickSaveCloseButton(); allegedOffencesSearchPage = new AllegendOffensesSearchPage(driver); allegedOffencesSearchPage.SetInvestigationSearchText(allegedoffenceId); Table table = new Table(allegedOffencesSearchPage.GetSearchResultTable()); Assert.AreEqual(1, table.GetRowCount(), "Allegend Offense creation failed!!!!!"); if (LastIteration == false) { driver.Quit(); driver = null; this.TestSetup(); } // CAN end } // CAN NOT -1 LastIteration = false; for (int i = 0; i <= 2; i++) { //Login in as role switch (i) { case 0: user = this.environment.GetUser(SecurityRole.GeneralStaff); break; case 1: user = this.environment.GetUser(SecurityRole.RBSOfficer); break; case 2: user = this.environment.GetUser(SecurityRole.IMSBusinessSupportStaff); LastIteration = true; break; } new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); String HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); Assert.IsFalse(homePage.VerifyInvestigationsRibbonButtonPresent(),String.Format("Investigation Ribbon Button is seen for {0}",user.Id)); if (LastIteration == false) { driver.Quit(); driver = null; this.TestSetup(); } } // CAN NOT -2 LastIteration = false; for (int i = 3; i == 4; i++) { //Login in as role switch (i) { case 3: user = this.environment.GetUser(SecurityRole.ResearchOfficers); break; case 4: user = this.environment.GetUser(SecurityRole.RecordKeepingOfficers); LastIteration = true; break; } new LoginDialog().Login(user.Id, user.Password); HomePage homePage = new HomePage(driver); String HomeWindow = driver.CurrentWindowHandle; homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsCasesRibbonButton(); // Select the 'All Investigation Cases' view from the table InvestigationCaseSearchPage investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); Assert.IsFalse(investigationCaseSearchPage.VerifyNewInvestigationCaseButtonPresent(), String.Format("New Investigation Case Button is seen for {0}", user.Id)); if (LastIteration == false) { driver.Quit(); driver = null; this.TestSetup(); } } }
public void ATC4422_CRMTenancyRequestWithNoContributor() { #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() == "TR_TestData") { 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(); string rentalPremises = MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("RENTAL_PREMISES")].Value.ToString(); //Login as RBS user User user = this.environment.GetUser(SecurityRole.RBSOfficer); new LoginDialog().Login(user.Id, user.Password); //As a RBS Officer, navigate to an Address Detail HomePage homePage = new HomePage(driver); homePage.HoverCRMRibbonTab(); homePage.ClickRBSRibbonButton(); homePage.HoverRBSRibbonTab(); homePage.ClickRtaAddressDetailRibbonButton(); AddressDetailSearchPage addressDetailSearchPage = new AddressDetailSearchPage(driver); addressDetailSearchPage.SetAddressDetailSearchText("MITCHELTON"); Table addressSearchTable = new Table(addressDetailSearchPage.GetSearchResultTable()); addressSearchTable.ClickCellContainsValue("Name", rentalPremises, "Name"); AddressDetailPage addressDetailPage = new AddressDetailPage(driver); //Click on the Tenancy Requests Associated View in the dropdown ribbon menu homePage.HoverAddressDetailRibbonTab(rentalPremises); homePage.ClickTRAddressDetailViewRibbonButton(); addressDetailPage = new AddressDetailPage(driver); string BaseWindow = driver.CurrentWindowHandle; addressDetailPage.ClickAddNewTenancyRequestButton(); addressDetailPage.SwitchNewBrowser(driver, BaseWindow); //Fill in all mandatory details and Click Save&close TenancyRequestPage tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.ClickPageTitle(); //Set {Type} field to Bond Lodgement. tenancyRequestPage.SetRequestTypeListValue("Bond Lodgement"); tenancyRequestPage.PopulateTenancyRequestWithoutRentalPremisesFromAddressDetailAssociatedView( MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("REQUEST_TYPE")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("MANAGING_PARTY")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("TENANCY_TYPE")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("MANAGEMENT_TYPE")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("NO_ROOMS")].Value.ToString(), initialRequestParty, MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("WEEKLY_RENT")].Value.ToString(), initialContribution, MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("AMOUNT_PAID_LODGEMENT")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("LODGEMENT_TYPE")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("TENANCY_START")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("ANTICIPATED_END")].Value.ToString(), MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("PAYMENT_TYPE")].Value.ToString()); tenancyRequestPage.SetDwellingTypeListValue(MyRange.Cells[MyRow, TenancyRequestSchema.GetColumnIndex("DWELLING_TYPE")].Value.ToString()); tenancyRequestPage.ClickSaveButton(); string tenancyRequest = tenancyRequestPage.GetRequestNumber(); StringAssert.Contains(tenancyRequest, "TR-BL-", "Validating the Tenancy Request saved with the correct TR no fromat"); tenancyRequestPage.ClickSaveCloseButton(); driver = driver.SwitchTo().Window(BaseWindow); //Open the Tenancy Request which was just created addressDetailPage = new AddressDetailPage(driver); addressDetailPage.SetTenancyRequestSearchText(tenancyRequest); Table tenancyRequestSearchTable = new Table(addressDetailPage.GetTenancyRequestSearchResultTable()); tenancyRequestSearchTable.ClickCellContainsValue("Name", tenancyRequest, "Name"); tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.ClickPageTitle(); Table requestPartyTable = new Table(tenancyRequestPage.GetRequestPartyTable()); //Confirm the tenancy request has only one contributor i.e initial Request Party Assert.AreEqual(requestPartyTable.GetCellContainsValue("Request Amount",initialContribution,"Client"), initialRequestParty); Assert.AreEqual(1, requestPartyTable.GetRowCount()-1,"Validating only one contributor is avaialble"); UICommon.DoubleClickElement(requestPartyTable.GetCellElementContainsValue("Client", initialRequestParty, "Client"), driver); Thread.Sleep(1000); TenancyRequestPartyPage tenancyRequestPartyPage = new TenancyRequestPartyPage(driver); tenancyRequestPartyPage.ClickPageTitle(); //Try to deactivate the contributor. Fails with an error dialog tenancyRequestPartyPage.ClickDeactivateButton(); WarningDialogueFramePage warningPage = new WarningDialogueFramePage(driver); warningPage.ClickProcessBeginButton(); tenancyRequestPartyPage.ClickSaveCloseButton(); //Go back to tenancy request form. The Delete button should not be available for RBS user tenancyRequestPage = new TenancyRequestPage(driver); tenancyRequestPage.ClickPageTitle(); requestPartyTable = new Table(tenancyRequestPage.GetRequestPartyTable()); Assert.AreEqual(requestPartyTable.GetCellContainsValue("Request Amount", initialContribution, "Client"), initialRequestParty); Assert.AreEqual(1, requestPartyTable.GetRowCount() - 1, "Validating the initial contributor is still avaialble after trying to deactivate"); IWebElement element = requestPartyTable.GetCellElementContainsValue("Client", initialRequestParty, "Request Amount"); Assert.IsFalse(tenancyRequestPage.ClickDeleteButtonIfDisplayed(element),"Validating that delete button not displyed to click"); #region Shut down Excel MyBook.Save(); MyBook.Close(); MyApp.Quit(); #endregion }