public void ATC3342_CRMInvestigationTestActivitiesCreatedBySelectingSubStatus() { InvestigationCaseSearchPage investigationCaseSearchPage; InvestigationCasePage investigationCasePage; string investigationID; //Login in as role User user = this.environment.GetUser(SecurityRole.Investigations); new LoginDialog().Login(user.Id, user.Password); string[] Status = new string[] { "New case", "Investigation current", "Investigation current" , "Investigation current", "Investigation current", "Investigation current", "Investigation current", "Case finalisation", "Case finalisation", "Case finalisation"}; string[] SubStatus = new string[] { "Initial assessment", "Conducting background searches", "Requesting information from complainant(s)" ,"Requesting information from third parties", "Search warrant(s) required", "Allegations to be put to respondent(s)", "Seeking legal advice", "Case closed discussion", "Educating respondent(s)", "Prosecution required"}; string[] Activities0 = { "Carry out initial assessment", "Allocate"}; string[] Activities1 = { "Conduct respondent(s) background searches", "Conduct complainant(s) background searches", "Conduct relevant dispute searches", "Conduct relevant premises background searches" }; string[] Activities2 = { "Send request for information to complainant(s)", "Receive response from complainant" }; string[] Activities3 = { "Send request for information to third parties", "Receive response from third parties" }; string[] Activities4 = {"Discuss with Manager", "Prepare warrant application(s)", "Receive approval of warrant(s)"}; string[] Activities5 = { "Send letter of allegations to respondent", "Receive response from respondent" }; string[] Activities6 = { "Discuss with SIO or Manager", "Prepare request for legal advice", "Receive legal advice" }; string[] Activities7 = { "Conduct closure discussion", "Record closure discussion outcome" }; string[] Activities8 = { "Send educative letter to respondent(s)" }; string[] Activities9 = { "Prepare brief of evidence", "Seek legal endorsement", "Receive legal advice" }; HomePage homePage = new HomePage(driver); String HomeWindow = driver.CurrentWindowHandle; for (int i = 0; i < Status.Length; i++) { homePage.HoverCRMRibbonTab(); homePage.ClickInvestigationsRibbonButton(); homePage.HoverInvestigationsRibbonTab(); homePage.ClickInvestigationsCasesRibbonButton(); investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); String BaseWindow = driver.CurrentWindowHandle; investigationCaseSearchPage.ClickNewInvestigationCaseButton(); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickSaveButton(); 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"); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.SetStatus(Status[i]); investigationCasePage.ClickPageTitle(); investigationCasePage.SetSubStatus(SubStatus[i]); investigationCasePage.ClickSaveCloseButton(); // Search for the Investigation Case ID investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.SetSearchRecord(investigationID); table = new Table(investigationCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); // Verify the Activities created driver.Navigate().Refresh(); Thread.Sleep(1000); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.SetPageFilterList("All Activities"); Thread.Sleep(1000); table = new Table(investigationCasePage.GetActivitiesSearchResultTable()); string[] ActivityArray = {""}; switch (i) { case 0: ActivityArray = Activities0; break; case 1: ActivityArray = Activities1; break; case 2: ActivityArray = Activities2; break; case 3: ActivityArray = Activities3; break; case 4: ActivityArray = Activities4; break; case 5: ActivityArray = Activities5; break; case 6: ActivityArray = Activities6; break; case 7: ActivityArray = Activities7; break; case 8: ActivityArray = Activities8; break; case 9: ActivityArray = Activities9; break; } for (int j = 0; j < ActivityArray.Length; j++) { StringAssert.Contains(table.GetCellContainsValue("Subject", investigationID + ": " + ActivityArray[j], "Activity Status"), "Open"); } driver.SwitchTo().Window(HomeWindow); } }
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 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."); }