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 ATC6834_CRMInvestigationValidateDurationWithoutReceivedDateSet() { //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.ClickSaveButton(); string investigationID = investigationCasePage.GetInvestigationCaseNumber(); // Now close the investigation case investigationCasePage.ClickStartDialogButton(); Table 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.SetDate(DateTime.Today.ToString("dd-MM-yyyy")); 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.ClickPageTitle(); investigationCasePage.ClickSaveCloseButton(); investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); investigationCaseSearchPage.SetPageFilterList("Inactive Investigation Cases"); investigationCaseSearchPage.SetSearchRecord(investigationID); table = new Table(investigationCaseSearchPage.GetSearchResultTable()); table.ClickCellValue("Case Number", investigationID, "Case Number"); Thread.Sleep(100); investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickPageTitle(); // Verify the Duration field value... Assert.AreEqual(0, investigationCasePage.GetDurationDaysValue(), "Duration field showing wrong days"); }
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 ATC4445_CRMInvestigationFutureDateNotAllowedForFinalisedDate() { //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 tomorrowDate = DateTime.Today.AddDays(1).ToString("dd-MM-yyyy"); string todayDate = DateTime.Today.ToString("dd-MM-yyyy"); iNVPage.SetDate(tomorrowDate); iNVPage.ClickNextButton(); Assert.AreEqual("! WARNING !\r\n\r\nYou have entered a finalised date in the future which is not allowed. Either go back and update the finalised date or continue for the current date to be used by default.", iNVPage.GetErrorMessage()); iNVPage.ClickPreviousButton(); iNVPage.SetDate(todayDate); iNVPage.ClickNextButton(); Assert.AreEqual("This is the end of the dialog. Click Finish to close it.", iNVPage.GetFinishMessage()); iNVPage.ClickFinishButton(); }
public void ATC3306_CRMInvestigationCaseReopenclosedcase() { //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(); InvestigationCaseSearchPage investigationCaseSearchPage = new InvestigationCaseSearchPage(driver); //investigationCaseSearchPage.ClickNewInvestigationCaseButton(); investigationCaseSearchPage.SetPageFilterList("All Investigation Cases"); Table table = new Table(investigationCaseSearchPage.GetSearchResultTable()); table.SelectTableRow("Investigation Status", "Closed"); InvestigationCasePage investigationCasePage = new InvestigationCasePage(driver); investigationCasePage.ClickStartDialogButton(); table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Re-open 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.ClickFinishButton(); driver = driver.SwitchTo().Window(BaseWindow); }
public void ATC3330_CRMInvestigationValidateSubstatusAfterSelectingStatus() { //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); string BaseWindow = driver.CurrentWindowHandle; //Records the current window handles investigationCasePage.ClickPageTitle(); investigationCasePage.SetStatus("Investigation current"); investigationCasePage.ClickPageTitle(); investigationCasePage.SetSubStatus("Conducting background searches"); investigationCasePage.ClickPageTitle(); investigationCasePage.ClickSaveButton(); string investigationID = investigationCasePage.GetInvestigationCaseNumber(); // Now close the investigation case investigationCasePage.ClickStartDialogButton(); Table 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.ClickSaveButton(); // RE-OPEN the Investigation Case by running the dialog investigationCasePage.ClickStartDialogButton(); table = new Table(investigationCasePage.GetProcessSearchResultTable()); table.ClickCell("Process Name", "INV: Re-open investigation case", "Created On"); BaseWindow = driver.CurrentWindowHandle; //Records the current window handle investigationCasePage.ClickDialogAddButton(); driver = UICommon.SwitchToNewBrowserWithTitle(driver, BaseWindow, "INV:"); iNVPage = new INVPage(driver); iNVPage.ClickNextButton(); iNVPage.ClickNextButton(); iNVPage.ClickFinishButton(); driver = driver.SwitchTo().Window(BaseWindow); investigationCasePage.ClickSaveButton(); // Select any Status and verify that list of "Sub-status" is correctly displayed investigationCasePage.SetStatus("Case finalisation"); investigationCasePage.ClickPageTitle(); // Verify that Sub-status is cleared off and error message is thrown investigationCasePage.ClickSubStatusText(); StringAssert.Contains(investigationCasePage.GetSubStatusErrorText(), "You must provide a value for Sub Status."); investigationCasePage.ClickPageTitle(); investigationCasePage.ClickSubStatusSearchButton(); Assert.IsTrue(investigationCasePage.FindSubStatusFromDropdown("Case closed discussion")); Assert.IsTrue(investigationCasePage.FindSubStatusFromDropdown("Close without further action")); Assert.IsTrue(investigationCasePage.FindSubStatusFromDropdown("Educating respondent(s)")); Assert.IsTrue(investigationCasePage.FindSubStatusFromDropdown("Prosecution required")); Assert.AreEqual(4, investigationCasePage.GetSubStatusCount()); }
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 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."); }