public void TeacherFit_Displayed_for_New_Applicant()
        {
            // page objects
            var landingPage    = new DefaultLandingPage(Driver);
            var applicantPages = new ApplicantPages(Driver);

            // workflows
            var applicationWorkflows = new ApplicationWorkflows(Driver, test);

            // applicant data
            var applicantData = new ApplicantGenerator();

            try
            {
                // create new applicant
                landingPage.ClickExternalLogin();
                test.Log(LogStatus.Pass, "Click 'External Login'");

                Driver.SwitchToPopup();
                applicantPages.ClickEmploymentApplicationTab();
                test.Log(LogStatus.Pass, "Click the 'Employment Application' tab");

                applicationWorkflows.FillOutPersonalInfo(applicantData);

                applicantPages.EmploymentApplicationPages.ClickNextPage();
                test.Log(LogStatus.Pass, "Click 'Next Page'");

                applicantPages.EmploymentApplicationPages.ClickVacancyDesired();
                test.Log(LogStatus.Pass, "Click 'Vacancy Desired'");

                applicantPages.EmploymentApplicationPages.VacancyDesiredPage.SelectVacancy(vacancyDesired);
                test.Log(LogStatus.Pass, "Select job: " + vacancyDesired);

                applicantPages.EmploymentApplicationPages.ClickSaveAsDraft();
                test.Log(LogStatus.Pass, "Click 'Save as Draft'");

                // navigate to Teacher Fit
                applicantPages.EmploymentApplicationPages.ClickTeacherFit();
                test.Log(LogStatus.Pass, "Click 'TeacherFit'");

                // Assert that the page is displayed
                Assert.IsTrue(applicantPages.EmploymentApplicationPages.FitPages.IsDisplayed(), "The Teacher Fit starting page is not displayed");
                test.Log(LogStatus.Pass, "The teacher fit starting page is displayed");
            }
            catch (Exception e)
            {
                HandleException(e, Driver);
                throw;
            }
        }
        public void LandingPage_Start_As_External_Applicant()
        {
            Console.WriteLine("WindowHandle at Start: " + Driver.GetHashCode().ToString());

            var landingPage    = new DefaultLandingPage(Driver);
            var applicantPages = new ApplicantPages(Driver);

            try  //Contains Contents of Test
            {
                landingPage.ClickExternalLogin();
                test.Log(LogStatus.Pass, "Click External Login");

                applicantPages.SwitchWindows();
                Driver.SwitchToFrameById("HomeDataPage");

                applicantPages.ClickStart();
                test.Log(LogStatus.Pass, "Clicking Start");
            }
            catch (Exception e) //On Error Do
            {
                HandleException(e, Driver);
                throw;
            }
        }
        public void TeacherFit_New_Applicant()
        {
            // page objects
            var landingPage    = new DefaultLandingPage(Driver);
            var applicantPages = new ApplicantPages(Driver);

            // workflows
            var applicationWorkflows = new ApplicationWorkflows(Driver, test);

            // data
            var applicantData  = new ApplicantGenerator();
            var vacancyDesired = 1171;

            try
            {
                // create new applicant
                landingPage.ClickExternalLogin();
                test.Log(LogStatus.Pass, "Click 'External Login'");

                Driver.SwitchToPopup();
                applicantPages.ClickEmploymentApplicationTab();
                test.Log(LogStatus.Pass, "Click the 'Employment Application' tab");

                applicationWorkflows.FillOutPersonalInfo(applicantData);

                applicantPages.EmploymentApplicationPages.ClickNextPage();
                test.Log(LogStatus.Pass, "Click 'Next Page'");

                applicantPages.EmploymentApplicationPages.ClickVacancyDesired();
                test.Log(LogStatus.Pass, "Click 'Vacancy Desired'");

                applicantPages.EmploymentApplicationPages.VacancyDesiredPage.SelectVacancy(vacancyDesired);
                test.Log(LogStatus.Pass, "Select vacancy: " + vacancyDesired);

                applicantPages.EmploymentApplicationPages.ClickSaveAsDraft();
                test.Log(LogStatus.Pass, "Click 'Save As Draft'");

                // take teacherfit
                applicantPages.EmploymentApplicationPages.ClickTeacherFit();
                test.Log(LogStatus.Pass, "Click 'TeacherFit'");

                Assert.IsTrue(applicantPages.EmploymentApplicationPages.FitPages.IsDisplayed(), "The Teacher Fit starting page is not displayed");
                test.Log(LogStatus.Pass, "The teacher fit starting page is displayed");

                applicationWorkflows.CompleteFitAssessment();

                // assert that the assessment has been completed
                Assert.IsTrue(applicantPages.EmploymentApplicationPages.FitPages.AssessmentCompleted(), "The fit assessment has not been completed");
                test.Log(LogStatus.Pass, "The fit assessment has been completed successfully");

                // submit the application
                applicantPages.EmploymentApplicationPages.ClickFinishAndSubmit();
                test.Log(LogStatus.Pass, "Click 'Finish and Submit'");

                // assert that the screen does not indicate that the teacherfit assessment needs to be completed
                Assert.IsTrue(applicantPages.EmploymentApplicationPages.ConfirmationPage.StepIsCompleted("TeacherFit"),
                              "The confirmation page indicates the TeacherFit assessment was not completed");
                test.Log(LogStatus.Pass, "The confirmation page indicates that the TeacherFit assessment was completed");
            }
            catch (Exception e)
            {
                HandleException(e, Driver);
                throw;
            }
        }
Ejemplo n.º 4
0
        public void Applicant_Send_Email()
        {
            // pages
            var applicantProfilePage = new ApplicantProfilePages(_driver);
            var applicantMenu        = new ApplicantAdminMenu(_driver);
            var email          = new EmailPage(_driver);
            var landingPage    = new DefaultLandingPage(_driver);
            var applicantPages = new ApplicantPages(_driver);

            // workflows
            var searchWorkflows      = new SearchWorkflows(_driver);
            var applicationWorkflows = new ApplicationWorkflows(_driver, test);

            // test data
            var applicantData = new ApplicantGenerator();
            var emailBody     = Faker.TextFaker.Sentence();

            try
            {
                // create applicant
                BrowseTo(BaseUrls["ApplitrackLandingPage"], _driver);
                landingPage.ClickExternalLogin();
                _driver.SwitchToPopup();
                applicantPages.ClickEmploymentApplicationTab();
                applicationWorkflows.FillOutPersonalInfo(applicantData);
                applicantPages.EmploymentApplicationPages.ClickNextPage();
                applicantPages.EmploymentApplicationPages.ClickPostalAddress();
                applicationWorkflows.FillOutPermanentAddress(applicantData.Address);
                _driver.SwitchToDefaultFrame();
                _driver.SwitchToFrameById("AppDataPage");
                applicantData.AppNo = applicantPages.EmploymentApplicationPages.GetAppNo();
                test.Log(LogStatus.Info, "AppNo is: " + applicantData.AppNo);
                _driver.SwitchToDefaultFrame();
                applicantPages.EmploymentApplicationPages.ClickSaveAsDraft();
                _driver.ClosePopup();

                // login
                BrowseTo(BaseUrls["ApplitrackLoginPage"], _driver);
                test.Log(LogStatus.Info, "Starting test at URL: " + BaseUrls["ApplitrackLoginPage"]);
                var loginWorkflow = new LoginWorkflows(_driver);
                loginWorkflow.LoginAsSuperUser();

                // Open the applicant page
                BrowseTo($"{_driver.Url}?AppNo={applicantData.AppNo}", _driver);
                _driver.SwitchToFrameById("App" + applicantData.AppNo);

                // Click the Email button
                applicantProfilePage.Toolbar.ClickEmailButton();
                test.Log(LogStatus.Pass, "Click the Email button");

                // Send the email
                _driver.SwitchToPopup();
                _driver.SwitchToFrameByClass("cke_wysiwyg_frame");
                email.EnterEmailBody(emailBody);
                _driver.SwitchToDefaultFrame();
                email.ClickSendMessageButton();
                test.Log(LogStatus.Pass, "Click the Send Message button");

                // Assert that the email address is displayed on the page
                Assert.IsTrue(email.IsEmailAddressDisplayed(applicantData.Email), "Expected email: " + applicantData.Email + " is not on the screen");
                test.Log(LogStatus.Pass, "The email address: " + applicantData.Email + " appears on the page");
                _driver.ClosePopup();

                _driver.SwitchToDefaultFrame();
                _driver.SwitchToFrameById("App" + applicantData.AppNo);
                applicantMenu.ClickCommuncationLog();

                _driver.SwitchToFrameById("MainContentsIFrame");

                Assert.IsTrue(applicantProfilePage.CommunicationLogPage.IsCommunicationDisplayed(emailBody), "Email is not displayed on the Communication Log page");
                test.Log(LogStatus.Pass, "Email is displayed on the Communication Log page");
            }
            catch (Exception e)
            {
                HandleException(e, _driver);
                throw;
            }
        }
        public void TestSetup()
        {
            // extent reports setup
            _test = ExtentTestManager.StartTest(TestContext.Properties["TestCaseName"].ToString(),
                                                TestContext.Properties["TestCaseDescription"].ToString())
                    .AssignCategory("Smoke");

            // browser setup
            _driver = SetUp(_BT);
            _driver.Manage().Window.Maximize();

            _test.Log(LogStatus.Info, "Begin applicant creation");

            // create applicant
            BrowseTo(BaseUrls["ApplitrackLandingPage"], _driver);
            _test.Log(LogStatus.Info, "Starting test at URL: " + BaseUrls["ApplitrackLandingPage"]);
            var landingPage          = new DefaultLandingPage(_driver);
            var applicantPages       = new ApplicantPages(_driver);
            var applicationWorkflows = new ApplicationWorkflows(_driver, _test);
            var applicantProfile     = new ApplicantProfilePages(_driver);
            var hireWizard           = new HireWizardPage(_driver);

            _applicantData = new ApplicantGenerator();

            landingPage.ClickExternalLogin();

            _driver.SwitchToPopup();

            applicantPages.ClickEmploymentApplicationTab();

            applicationWorkflows.FillOutPersonalInfo(_applicantData);

            applicantPages.EmploymentApplicationPages.ClickNextPage();

            applicantPages.EmploymentApplicationPages.ClickPostalAddress();

            applicationWorkflows.FillOutPermanentAddress(_applicantData.Address);

            _driver.SwitchToDefaultFrame();
            _driver.SwitchToFrameById("AppDataPage");
            _applicantData.AppNo = applicantPages.EmploymentApplicationPages.GetAppNo();
            _test.Log(LogStatus.Info, "AppNo is: " + _applicantData.AppNo);

            _driver.SwitchToDefaultFrame();
            applicantPages.EmploymentApplicationPages.ClickSaveAsDraft();

            _driver.ClosePopup();

            _isApplicantCreated = true;

            // login to admin
            BrowseTo(BaseUrls["ApplitrackLoginPage"], _driver);
            _test.Log(LogStatus.Info, "Logging into system at URL: " + BaseUrls["ApplitrackLoginPage"]);
            var loginWorkflow = new LoginWorkflows(_driver);

            loginWorkflow.LoginAsSuperUser();

            // Navigate to the Notes page because selenium has trouble interacting with the window
            BrowseTo(BaseUrls["ApplitrackLoginPage"] + @"/onlineapp/admin/Action-LeaveNote.aspx?AppNo=" + _applicantData.AppNo + @"&HideSaveAndClose=1", _driver);

            // Hire the applicant
            applicantProfile.ApplicantNotesPages.ApplicantNotesTab.SelectHiredYes();
            _test.Log(LogStatus.Info, "Select 'Yes' for hired.");

            applicantProfile.ApplicantNotesPages.ApplicantNotesTab.ClickSave();
            _test.Log(LogStatus.Info, "Click 'Save'");

            hireWizard.ClickNext();
            _test.Log(LogStatus.Info, "Click 'Next'");

            // Select 'No' for Aesop
            if (FeatureFlags.ThirdParty.Aesop.Enabled)
            {
                hireWizard.SelectNo();
                _test.Log(LogStatus.Info, "Select 'No' for Aesop");
                hireWizard.ClickNext();
                _test.Log(LogStatus.Info, "Click 'Next'");
            }

            // Select 'No' for HR Files
            if (FeatureFlags.Employees.UsesEmployees)
            {
                hireWizard.SelectNo();
                _test.Log(LogStatus.Info, "Select 'No' for HR Files");
                hireWizard.ClickNext();
                _test.Log(LogStatus.Info, "Click 'Next'");
            }

            // Select 'Yes' for FC
            hireWizard.SelectYes();
            _test.Log(LogStatus.Info, "Select 'Yes' for FC");
            hireWizard.ClickNext();
            _test.Log(LogStatus.Info, "Click 'Next'");
        }