コード例 #1
0
        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());
        }