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(); } }
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 }
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 }