Example #1
0
 public void ConfirmAndSave()
 {
     _saveButton.ClickByJS();
     if (WebContext.WebDriver.FindElements(By.CssSelector("[data-automation-id='confirmation_required_dialog']")).Count > 0)
     {
         var confirmDialog = new ConfirmRequiredDialog();
         confirmDialog.ClickYes();
     }
 }
Example #2
0
        public void TC_ATT07_Validate_Deal_with_Chosen_Code_functionality(string foreName, string surName, string gender, string DOB, string dateOfAdmission, string yearGroup, string className,
                                                                          string academicYear, string searchMark)
        {
            SeleniumHelper.Login(SeleniumHelper.iSIMSUserType.SchoolAdministrator);

            #region Pre-Condition

            //Navigate to Pupil Record
            SeleniumHelper.NavigateQuickLink("Pupil Records");
            var pupilRecords = new PupilRecordTriplet();

            //Add new pupil
            var addNewPupilDialog = pupilRecords.AddNewPupil();
            addNewPupilDialog.Forename    = foreName;
            addNewPupilDialog.SurName     = surName;
            addNewPupilDialog.Gender      = gender;
            addNewPupilDialog.DateOfBirth = DOB;
            var registrationDetailDialog = addNewPupilDialog.Continue();
            registrationDetailDialog.DateOfAdmission = dateOfAdmission;
            registrationDetailDialog.YearGroup       = yearGroup;
            registrationDetailDialog.ClassName       = className;
            registrationDetailDialog.CreateRecord();
            var confirmRequiredDialog = new ConfirmRequiredDialog();
            confirmRequiredDialog.ClickOk();

            //Save pupil
            //var pupilRecord = PupilRecordPage.Create();
            //pupilRecord.SavePupil();
            SeleniumHelper.CloseTab("Pupil Record");

            #endregion

            #region Test steps

            //Navigate to Deal with Chosen
            SeleniumHelper.NavigateMenu("Tasks", "Attendance", "Deal with Specific Marks");
            var dealwithCodes = new DealWithSpecifcMarksTriplet();

            //Select Search Criteria
            dealwithCodes.SearchCriteria.SelectAcademicYear = academicYear;
            dealwithCodes.SearchCriteria.SelectMark         = searchMark;
            dealwithCodes.SearchCriteria.YearGroup          = "Year 2";
            var dealChosenCode = dealwithCodes.SearchCriteria.Search <DealWithSpecificMarkPage>();

            //Input by keyboard
            dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][1].Marks = "/";
            dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][2].Marks = "\\";
            dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][3].Marks = "/";

            //Input by drop-down
            dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][4].MarkDropDown = "A";
            dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][5].MarkDropDown = "C";

            //Save
            dealChosenCode.Save();

            //Verify input
            marksRow = dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)];
            Assert.AreEqual("/", marksRow[1].Marks, "Cannot input by keyboard");
            Assert.AreEqual("\\", marksRow[2].Marks, "Cannot input by keyboard");
            Assert.AreEqual("/", marksRow[3].Marks, "Cannot input by keyboard");
            Assert.AreEqual("A", marksRow[4].Marks, "Cannot input by dropdown");
            Assert.AreEqual("C", marksRow[5].Marks, "Cannot input by dropdown");
            Assert.AreEqual("A", marksRow[6].Marks, "Cannot input by code list");
            Assert.AreEqual("B", marksRow[7].Marks, "Cannot input by code list");
            Assert.AreEqual("C", marksRow[8].Marks, "Cannot input by code list");

            //Verify can edit in mode overwrite
            dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][1].MarkDropDown = "A";
            Assert.AreEqual("A", dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][1].Text, "Mark cannot be edit in overwrite mode by dropdown");
            dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][2].Select();
            dealChosenCode.Code = "B";
            Assert.AreEqual("B", dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][2].Text, "Mark cannot be edit in overwrite mode by select from code list");

            //Verify cannot edit with invalid value
            dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][3].Marks = "T";
            Assert.AreEqual("/", dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][3].Text, "Mark can be edit with invalid value by keyboard");

            //Add comment
            var addComment = dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][1].AddComment();
            addComment.Comment = "Test Comment";
            addComment.ClickOk();

            //Save
            dealChosenCode.Save();

            //Verify comment
            dealChosenCode = dealChosenCodes.SearchCriteria.Search <DealWithChosenPage>();
            addComment     = dealChosenCode.Marks[String.Format("{0}, {1}", surName, foreName)][1].AddComment();
            Assert.AreEqual("Test Comment", addComment.Comment, "Can not add comment in Deal with Chosen code page");
            addComment.ClickCancel();

            //Verify mark of Edit Mark page
            SeleniumHelper.NavigateQuickLink("Edit Marks");
            var editMarkTriplet = new EditMarksTriplet();
            editMarkTriplet.SearchCriteria.Week = true;
            editMarkTriplet.SearchCriteria.SelectClass(className);
            editMarkTriplet.SearchCriteria.SelectYearGroup(yearGroup);
            var editMarks = editMarkTriplet.SearchCriteria.Search <EditMarksPage>();
            var marks     = editMarks.Marks[String.Format("{0}, {1}", surName, foreName)];
            Assert.AreEqual("A", marks[1].Text, "Change in Deal Chosen Screen is not record");
            Assert.AreEqual("B", marks[2].Text, "Change in Deal Chosen Screen is not record");
            Assert.AreEqual("/", marks[3].Text, "Change in Deal Chosen Screen is not record");
            Assert.AreEqual("A", marks[4].Text, "Change in Deal Chosen Screen is not record");
            Assert.AreEqual("C", marks[5].Text, "Change in Deal Chosen Screen is not record");
            Assert.AreEqual("A", marks[6].Text, "Change in Deal Chosen Screen is not record");
            Assert.AreEqual("B", marks[7].Text, "Change in Deal Chosen Screen is not record");
            Assert.AreEqual("C", marks[8].Text, "Change in Deal Chosen Screen is not record");

            #endregion
        }
Example #3
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();

                var confirmRequiredDialog = new ConfirmRequiredDialog();
                confirmRequiredDialog.ClickOk();

                // 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 = new 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
        }