Пример #1
0
        public void Verify_Enquiry_Withdrawn_Reason_Lookup()
        {
            var code = SeleniumHelper.GenerateRandomString(3);

            try
            {
                FeatureBee.FeatureBeeLogin.LoginWithFeatureBee(new[] { "Enquiries" }, FeatureBee.FeatureBeeLogin.iSIMSUserType.AdmissionsOfficer);
                AutomationSugar.NavigateMenu("Lookups", "Admissions", "Enquiry Withdrawn Reason");

                //Add new Reason Admission Rejected
                var marketingSourceTriplet = new LookupTriplet();
                var marketingSourcePage    = marketingSourceTriplet.AddLookupRow("EnquiryWithdrawnReason");
                var marketingSourceRow     = marketingSourcePage.TableRow.GetLastRow();

                marketingSourceRow.Code         = code;
                marketingSourceRow.Description  = string.Format("Selenium Test Entry - {0}", code);
                marketingSourceRow.DisplayOrder = "999";
                marketingSourceRow.IsVisible    = true;

                //Save Reason Admission Rejected record
                marketingSourcePage.ClickSave();

                //Verify success message
                Assert.AreEqual(true, marketingSourcePage.IsSuccessMessageDisplayed(), "Success message do not display");
            }
            finally
            {
                // Tear down
                PurgeLinkedData.DeleteEnquiryWithdrawnreason(code);
            }
        }
Пример #2
0
        public void Verify_Tier4_Category_Lookup()
        {
            var code = SeleniumHelper.GenerateRandomString(3);

            try
            {
                FeatureBee.FeatureBeeLogin.LoginWithFeatureBee(new[] { "Tier4" }, FeatureBee.FeatureBeeLogin.iSIMSUserType.AdmissionsOfficer);
                AutomationSugar.NavigateMenu("Lookups", "Admissions", "Tier 4 Category");

                //Add new Reason Admission Rejected
                var tier4CategoryTriplet = new LookupTriplet();
                var tier4CategoryPage    = tier4CategoryTriplet.AddLookupRow("Tier4Category");
                var tier4CategoryRow     = tier4CategoryPage.TableRow.GetLastRow();

                tier4CategoryRow.Code         = code;
                tier4CategoryRow.Description  = string.Format("Selenium Test Entry - {0}", code);
                tier4CategoryRow.DisplayOrder = "999";
                tier4CategoryRow.IsVisible    = true;

                //Save Reason Admission Rejected record
                tier4CategoryPage.ClickSave();

                //Verify success message
                Assert.AreEqual(true, tier4CategoryPage.IsSuccessMessageDisplayed(), "Success message do not display");
            }
            finally
            {
                // Tear down
                PurgeLinkedData.DeleteTier4Category(code);
            }
        }
Пример #3
0
        public void Create_Policy_WithCriteria()
        {
            //Login
            PolicyDetails policydetails = new PolicyDetails();

            Navigate_To_Policy();
            policydetails.ClickAddPolicyButton();
            String policyName        = policydetails.setPolicyName();
            String policyDescription = policydetails.setPolicyDescription();

            policydetails.ClickAddCriteriaDialog();
            policydetails.ClickAddCriteriaButton();
            String CriteriaName = policydetails.setCriteriaName();

            policydetails.SetCriteriaType("Number");
            policydetails.setCriteriaDescription();
            policydetails.ClickSaveCriteriaButton();
            policydetails.ClickSelectCriteriaButton();
            policydetails.setCriteriaPriority();
            policydetails.ClickSaveButton();
            policydetails.WaitForStatus();
            policydetails.SearchByName(policyName);

            PurgeLinkedData.DeletAdmissionPolicyCriteriaRelation(policyName);
            PurgeLinkedData.DeletAdmissionCriteria(CriteriaName);
            PurgeLinkedData.DeletAdmissionPolicy(policyName);
        }
Пример #4
0
        public void Verify_AdmissionTerm_Lookup()
        {
            var AdmissionTerm = SeleniumHelper.GenerateRandomString(3);

            try
            {
                SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.AdmissionsOfficer);
                AutomationSugar.NavigateMenu("Lookups", "Admissions", "Admission Term");

                //Add new Reason Admission Rejected
                var admissionTermTriplet = new LookupTriplet();
                var admissionTermPage    = admissionTermTriplet.AddLookupRow("AdmissionTerm");
                var admissionTermRow     = admissionTermPage.TableRow.GetLastRow();

                admissionTermRow.Code         = AdmissionTerm;
                admissionTermRow.Description  = string.Format("Selenium Test Entry - {0}", AdmissionTerm);
                admissionTermRow.DisplayOrder = "99";
                admissionTermRow.IsVisible    = true;

                //Save Reason Admission Rejected record
                admissionTermPage.ClickSave();

                //Verify success message
                Assert.AreEqual(true, admissionTermPage.IsSuccessMessageDisplayed(), "Success message do not display");
            }
            finally
            {
                // Tear down
                PurgeLinkedData.DeleteAdmissionTerm(AdmissionTerm);
            }
        }
Пример #5
0
        public void Verify_Reason_Admission_Rejected_Lookup()
        {
            var reasonCode = SeleniumHelper.GenerateRandomString(3);

            try
            {
                // SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.AdmissionsOfficer);
                String[] featureList = { "AdmissionAppeals" };
                FeatureBee.FeatureBeeLogin.LoginWithFeatureBee(featureList, FeatureBee.FeatureBeeLogin.iSIMSUserType.AdmissionsOfficer);
                AutomationSugar.NavigateMenu("Lookups", "Admissions", "Application Rejection Reason");

                //Add new Reason Admission Rejected
                var reasonAdmissionRejectedTriplet = new LookupTriplet();
                var reasonAdmissionRejectedPage    = reasonAdmissionRejectedTriplet.AddLookupRow("ReasonAdmissionRejected");
                var reasonAdmissionRejectedRow     = reasonAdmissionRejectedPage.TableRow.GetLastRow();

                reasonAdmissionRejectedRow.Code         = reasonCode;
                reasonAdmissionRejectedRow.Description  = string.Format("Selenium Test Entry - {0}", reasonCode);
                reasonAdmissionRejectedRow.DisplayOrder = "99";
                reasonAdmissionRejectedRow.IsVisible    = true;

                //Save Reason Admission Rejected record
                reasonAdmissionRejectedPage.ClickSave();

                //Verify success message
                Assert.AreEqual(true, reasonAdmissionRejectedPage.IsSuccessMessageDisplayed(), "Success message do not display");
            }
            finally
            {
                // Tear down
                PurgeLinkedData.DeleteReasonAdmissionRejected(reasonCode);
            }
        }
Пример #6
0
        public void Verify_Appeal_Outcome_Lookup()
        {
            var appealOutcomeCode = SeleniumHelper.GenerateRandomString(3);

            try
            {
                //  SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.AdmissionsOfficer);
                String[] featureList = { "AdmissionAppeals" };
                FeatureBee.FeatureBeeLogin.LoginWithFeatureBee(featureList, FeatureBee.FeatureBeeLogin.iSIMSUserType.AdmissionsOfficer);

                AutomationSugar.NavigateMenu("Lookups", "Admissions", "Admissions Appeal Hearing Outcome");

                //Add new Appeal Result
                var appealOutcomeTriplet = new LookupTriplet();
                var appealOutcomePage    = appealOutcomeTriplet.AddRow("AppealOutcome");
                var appealOutcomeRow     = appealOutcomePage.TableRow.GetLastRow();

                appealOutcomeRow.Code         = appealOutcomeCode;
                appealOutcomeRow.Description  = string.Format("Selenium Test Entry - {0}", appealOutcomeCode);
                appealOutcomeRow.DisplayOrder = "99";
                appealOutcomeRow.IsVisible    = true;
                appealOutcomeRow.Category     = "Upheld";

                //Save Appeal Outcome record
                appealOutcomePage.ClickSave();

                //Verify success message
                Assert.AreEqual(true, appealOutcomePage.IsSuccessMessageDisplayed(), "Success message do not display");
            }
            finally
            {
                // Tear down
                PurgeLinkedData.DeleteAppealOutcome(appealOutcomeCode);
            }
        }
Пример #7
0
        public void Add_Application_Status()
        {
            var statusCode = SeleniumHelper.GenerateRandomString(3);

            try
            {
                SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.AdmissionsOfficer);
                AutomationSugar.NavigateMenu("Lookups", "Admissions", "Application Status");

                //Add new Application Status
                var applicationStatusTriplet = new LookupTriplet();
                var applicationStatusPage    = applicationStatusTriplet.AddRow("ApplicationStatus");
                var applicationStatusRow     = applicationStatusPage.TableRow.GetLastRow();

                applicationStatusRow.Code         = statusCode;
                applicationStatusRow.Description  = string.Format("Selenium Test Entry - {0}", statusCode);
                applicationStatusRow.DisplayOrder = "99";
                applicationStatusRow.IsVisible    = true;
                applicationStatusRow.Category     = "Rejected";

                //Save Application Status record
                applicationStatusPage.ClickSave();

                //Verify success message
                Assert.AreEqual(true, applicationStatusPage.IsSuccessMessageDisplayed(), "Success message do not display");
            }
            finally
            {
                // Tear down
                PurgeLinkedData.DeleteApplicationStatus(statusCode);
            }
        }
Пример #8
0
        public void Create_Basic_Criteria()
        {
            //Login
            Navigate_To_Criteria();
            CriteriaDetails criteriadetails = new CriteriaDetails();

            criteriadetails.ClickAddCriteriaButton();
            String criteriaName        = criteriadetails.setCriteriaName();
            String criteriaDescription = criteriadetails.setCriteriaDescription();

            criteriadetails.ClickSaveButton();
            criteriadetails.WaitForStatus();
            PurgeLinkedData.DeletAdmissionCriteria(criteriaName);
        }
Пример #9
0
        public void Create_Basic_Policy()
        {
            //Login

            PolicyDetails policydetails = new PolicyDetails();

            Navigate_To_Policy();
            policydetails.ClickAddPolicyButton();
            String policyName        = policydetails.setPolicyName();
            String policyDescription = policydetails.setPolicyDescription();

            policydetails.ClickSaveButton();
            policydetails.ClickNoCriteriaDialogButton();
            policydetails.WaitForStatus();
            //Purge created data
            PurgeLinkedData.DeletAdmissionPolicy(policyName);
        }
Пример #10
0
        public void Search_Criteria_ByName()
        {
            //Insert a Criteria into database
            Guid   criteriaId          = Guid.NewGuid();
            string criteriaName        = CoreQueries.GetColumnUniqueString("AdmissionsCriteria", "Name", 10, tenantID);
            string criteriaDescription = CoreQueries.GetColumnUniqueString("AdmissionsCriteria", "Description", 10, tenantID);

            using (new DataSetup(GetCriteriaRecord(criteriaId, criteriaName, criteriaDescription)))
            {
                //Act
                //Login
                Navigate_To_Criteria();
                CriteriaDetails criteriadetails = new CriteriaDetails();
                criteriadetails.SearchByName(criteriaName);
            }
            //Purge created data
            PurgeLinkedData.DeletAdmissionCriteria(criteriaId);
        }
Пример #11
0
        public void Search_Policy_ByName()
        {
            //Login
            PolicyDetails policydetails = new PolicyDetails();

            //Insert a policy into database
            Guid   policyId          = Guid.NewGuid();
            string policyName        = CoreQueries.GetColumnUniqueString("AdmissionsPolicy", "Name", 10, tenantID);
            string policyDescription = CoreQueries.GetColumnUniqueString("AdmissionsPolicy", "Description", 10, tenantID);

            using (new DataSetup(GetPolicyRecord(policyId, policyName, policyDescription)))
            {
                //Act
                Navigate_To_Policy();
                policydetails.ClickAddPolicyButton();
                policydetails.SearchByName(policyName);
            }
            //Purge created data
            PurgeLinkedData.DeletAdmissionPolicy(policyId);
        }
        public void Can_Bulk_Delete_PhotographConsents_For_All_Results()
        {
            Guid   pupil1Id          = Guid.NewGuid();
            Guid   pupil2Id          = Guid.NewGuid();
            string yearGroupFullName = Utilities.GenerateRandomString(10, "FNBuT2");

            DataPackage dataPackage = GetDataPackage("BuT2", pupil1Id, pupil2Id, yearGroupFullName);

            using (new DataSetup(purgeBeforeInsert: false, purgeAfterTest: true, packages: dataPackage))
            {
                try
                {
                    //Arrange
                    var bulkUpdatePupilConsentsDetail = BulkUpdateMenuLinks.Consents
                                                        .Search
                                                        .WithYearGroupsAs(yearGroupFullName)
                                                        .SearchAndReturnDetail();

                    // Add a record
                    bulkUpdatePupilConsentsDetail
                    .SelectConsentType(_consentMenuDescription)
                    .WithFloodFillActiveAs(true)
                    .Save();
                    //Act - delete
                    bulkUpdatePupilConsentsDetail
                    .SelectConsentType(_consentMenuDescription)
                    .WithFloodFillActiveAs(false)
                    .Save();
                    //Assert
                    Assert.IsTrue(bulkUpdatePupilConsentsDetail.HasSavedSuccessfully);
                }
                finally
                {
                    PurgeLinkedData.DeleteLearnerConsentType(pupil1Id);
                    PurgeLinkedData.DeleteLearnerConsentType(pupil2Id);
                }
            }
        }
Пример #13
0
        public void Add_New_Applicant(
            string sureName, string middleName, string foreName, string gender, string dateOfBirth,
            string enrolmentStatus, string Class, string attendanceMode, string boarderStatus)
        {
            #region PRE-CONDITIONS:

            var          schoolIntakeId           = Guid.NewGuid();
            const string admissionTerm            = "Spring";
            const int    numberOfPlannedAdmission = 31;
            const int    capacity           = 10;
            var          admissionYear      = String.Format("{0}/{1}", (DateTime.Now.Year), (DateTime.Now.Year + 1));
            var          dateOfAdmission    = new DateTime(DateTime.Today.Year, 8, 8);
            var          admissionGroupName = Utilities.GenerateRandomString(10, "TC_AG01_Data");
            var          yearGroup          = Queries.GetFirstYearGroup();

            var dataPackage = this.BuildDataPackage();
            dataPackage.AddSchoolIntake(
                schoolIntakeId,
                admissionYear,
                admissionTerm,
                yearGroup,
                numberOfPlannedAdmission,
                admissionGroupName,
                dateOfAdmission,
                capacity);

            // Act
            using (new DataSetup(purgeBeforeInsert: false, purgeAfterTest: true, packages: dataPackage))
            {
                // Login as Admission
                SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.AdmissionsOfficer);

                // Navigate to Application page
                AutomationSugar.NavigateMenu("Tasks", "Admissions", "Applications");

                Wait.WaitForAjaxReady();

                var applicantTriplet = new ApplicationTriplet();

                // Search to change to Admitted if existing Applicant
                applicantTriplet.SearchCriteria.SetStatus("Applied", true);
                applicantTriplet.SearchCriteria.SetStatus("Offered", true);
                applicantTriplet.SearchCriteria.SetStatus("Accepted", true);
                applicantTriplet.SearchCriteria.SearchByName = sureName;
                var searchResults = applicantTriplet.SearchCriteria.Search();
                var applicantTile = searchResults.SingleOrDefault(t => t.Code.Equals(sureName + ", " + foreName));
                applicantTriplet.ChangeToAdmit(applicantTile);

                #endregion

                #region STEPS:

                // Create new an Applicant
                applicantTriplet = new ApplicationTriplet();
                var addNewApplicationDialog = applicantTriplet.AddNewApplicationDialog();
                addNewApplicationDialog.ForeName    = foreName;
                addNewApplicationDialog.MiddleName  = middleName;
                addNewApplicationDialog.SureName    = sureName;
                addNewApplicationDialog.Gender      = gender;
                addNewApplicationDialog.DateofBirth = dateOfBirth;
                addNewApplicationDialog.Continue();

                // Navigate to Registration Details dialog
                var registrationDetailsDialog = new RegistrationDetailsDialog();
                registrationDetailsDialog.AdmissionGroup  = admissionGroupName;
                registrationDetailsDialog.EnrolmentStatus = enrolmentStatus;
                registrationDetailsDialog.Class           = Class;
                registrationDetailsDialog.AttendanceMode  = attendanceMode;
                registrationDetailsDialog.BoarderStatus   = boarderStatus;
                registrationDetailsDialog.AddRecord();

                // Search Applicant that has just created
                applicantTriplet.SearchCriteria.SearchByName = sureName;
                searchResults = applicantTriplet.SearchCriteria.Search();
                applicantTile = searchResults.SingleOrDefault(t => t.Code.Equals(sureName + ", " + foreName));

                try
                {
                    // Verify that Applicant was created
                    Assert.IsNotNull(applicantTile, "Application record not created");

                    var applicationPage = applicantTile.Click <ApplicationPage>();

                    // Verify that Applicant was created successfully
                    Assert.AreEqual(foreName, applicationPage.LegalForeName, "Legal ForName is not equal");
                    Assert.AreEqual(sureName, applicationPage.LegalSureName, "Legal SurName is not equal");
                    Assert.AreEqual(gender, applicationPage.Gender, "Gender is not equal");
                    Assert.AreEqual(dateOfBirth, applicationPage.DateOfBirth, "Date of Birth is not equal");
                    Assert.AreEqual(dateOfBirth.GetMonthsAndYears(), applicationPage.Age, "Ages is not equal");
                    Assert.AreEqual("Applied", applicationPage.ApplicationStatus, "Application Status is not equal");
                    Assert.AreEqual(admissionGroupName, applicationPage.AdmissionGroup, "Admission Group is not equal");
                    Assert.AreEqual("", applicationPage.AdmissionNumber, "Admission Number is not equal");
                    Assert.AreEqual(true, applicationPage.VerifyDisable(), "Age and Age On Entry are not disabled");
                }
                finally
                {
                    // Tear down linked records before clean up
                    var learnerId     = Queries.GetLearnerId(sureName, foreName, dateOfBirth);
                    var applicationId = Queries.GetApplicationId(learnerId);
                    PurgeLinkedData.DeleteApplicationStatusLog(applicationId);
                    PurgeLinkedData.DeleteApplication(applicationId);
                    PurgeLinkedData.DeleteLearnerEnrolmentStatusForPupil(learnerId);
                    PurgeLinkedData.DeleteLearnerEnrolmentForPupil(learnerId);
                    PurgeLinkedData.DeleteNcYearMembershipForPupil(learnerId);
                    PurgeLinkedData.DeleteYearGroupMembershipForPupil(learnerId);
                    PurgeLinkedData.DeleteAttendanceModelForLearner(learnerId);
                    PurgeLinkedData.DeleteBorderStatusForLearner(learnerId);
                    PurgeLinkedData.DeletePrimaryClassMembershipForLearner(learnerId);
                    PurgeLinkedData.DeletePupil(foreName, sureName);
                }
            }
            #endregion
        }
Пример #14
0
        public void Admit_Applicant(
            string sureName, string middleName, string foreName, string gender, string dateOfBirth, string enrolmentStatus, string Class, string attendanceMode, string boarderStatus
            )
        {
            var          schoolIntakeId           = Guid.NewGuid();
            var          admissionGroupId         = Guid.NewGuid();
            const string admissionTerm            = "Spring";
            const int    numberOfPlannedAdmission = 31;
            const int    capacity           = 10;
            var          admissionYear      = string.Format("{0}/{1}", (DateTime.Now.Year), (DateTime.Now.Year + 1));
            var          dateOfAdmission    = new DateTime(DateTime.Today.Year, 8, 8);
            var          admissionGroupName = Utilities.GenerateRandomString(10, "TC_AG02_Data");
            var          yearGroup          = Queries.GetFirstYearGroup();

            var dataPackage = this.BuildDataPackage();

            dataPackage.AddSchoolIntake(
                schoolIntakeId,
                admissionYear,
                admissionTerm,
                yearGroup,
                numberOfPlannedAdmission,
                admissionGroupName,
                dateOfAdmission,
                capacity,
                admissionGroupId);

            var pupilId            = Guid.NewGuid();
            var learnerEnrolmentId = Guid.NewGuid();
            var applicantId        = Guid.NewGuid();
            var dob           = new DateTime(2010, 01, 01);
            var pupilSurname  = Utilities.GenerateRandomString(10, "TestPupil1_Surname" + Thread.CurrentThread.ManagedThreadId);
            var pupilForename = Utilities.GenerateRandomString(10, "TestPupil1_Forename" + Thread.CurrentThread.ManagedThreadId);

            dataPackage.AddBasicLearner(pupilId, pupilSurname, pupilForename, dob,
                                        new DateTime(2015, 09, 01), enrolStatus: "F", uniqueLearnerEnrolmentId: learnerEnrolmentId);
            dataPackage.AddBasicApplicant(applicantId, pupilId, learnerEnrolmentId, admissionGroupId, new DateTime(2015, 09, 01));

            // Act
            using (new DataSetup(purgeBeforeInsert: false, purgeAfterTest: true, packages: dataPackage))
            {
                // Login as Admission
                SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.AdmissionsOfficer);

                // Navigate to Application page
                AutomationSugar.NavigateMenu("Tasks", "Admissions", "Applications");

                Wait.WaitForAjaxReady();

                var applicantTriplet = new ApplicationTriplet();

                // Find the applicant
                applicantTriplet.SearchCriteria.SetStatus("Applied", true);
                applicantTriplet.SearchCriteria.SetStatus("Offered", true);
                applicantTriplet.SearchCriteria.SetStatus("Accepted", true);
                applicantTriplet.SearchCriteria.SearchByName = pupilSurname;
                var searchResults = applicantTriplet.SearchCriteria.Search();
                var applicantTile =
                    searchResults.SingleOrDefault(t => t.Code.Equals(pupilSurname + ", " + pupilForename));

                try
                {
                    //make sure applicant is found
                    Assert.IsNotNull(applicantTile, "Application record not created");

                    //change status to admitted
                    applicantTriplet.ChangeToAdmit(applicantTile);

                    applicantTriplet.SearchCriteria.DisplayIfHidden();

                    // Verify that Applicant was admitted
                    applicantTriplet.SearchCriteria.SetStatus("Applied", false);
                    applicantTriplet.SearchCriteria.SetStatus("Offered", false);
                    applicantTriplet.SearchCriteria.SetStatus("Accepted", false);
                    applicantTriplet.SearchCriteria.SetStatus("Reserved", false);
                    applicantTriplet.SearchCriteria.SetStatus("Admitted", true);

                    applicantTriplet.SearchCriteria.SearchByName = pupilSurname;
                    searchResults = applicantTriplet.SearchCriteria.Search();
                    applicantTile = searchResults.SingleOrDefault(t => t.Code.Equals(pupilSurname + ", " + pupilForename));

                    Assert.IsNotNull(applicantTile, "Application record not admitted");

                    var applicationPage = applicantTile.Click <ApplicationPage>();

                    Assert.AreEqual("Admitted", applicationPage.ApplicationStatus, "Application Status is not equal");
                }
                finally
                {
                    // Tear down linked records before clean up
                    var learnerId     = Queries.GetLearnerId(pupilSurname, pupilForename, dob.ToLongDateString());
                    var applicationId = Queries.GetApplicationId(learnerId);
                    PurgeLinkedData.DeleteApplicationStatusLog(applicationId);
                    PurgeLinkedData.DeleteApplication(applicationId);
                    PurgeLinkedData.DeleteLearnerEnrolmentStatusForPupil(learnerId);
                    PurgeLinkedData.DeleteLearnerEnrolmentForPupil(learnerId);
                    PurgeLinkedData.DeleteNcYearMembershipForPupil(learnerId);
                    PurgeLinkedData.DeleteYearGroupMembershipForPupil(learnerId);
                    PurgeLinkedData.DeleteAttendanceModelForLearner(learnerId);
                    PurgeLinkedData.DeleteBorderStatusForLearner(learnerId);
                    PurgeLinkedData.DeletePrimaryClassMembershipForLearner(learnerId);
                    PurgeLinkedData.DeletePupil(foreName, sureName);
                }
            }
        }