public void EquivalentOrLowerQualification_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string equivalentOrLowerQualification = "9 - Not required";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetEquivalentOrLowerQualificationComboBox(equivalentOrLowerQualification);

            // Assert
            var error = learningDeliveryTab.GetEquivalentOrLowerQualificationValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Equivalent or lower qualification {equivalentOrLowerQualification}");
        }
        public void GrossTuitonFee_WhenCorrectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string grossTuitonFee = "123456";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetGrossTuitonFeeTextBox(grossTuitonFee);

            // Assert
            var error = learningDeliveryTab.GetGrossTuitonFeeValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Gross tuition fee {grossTuitonFee}");
        }
        public void QualificationsOnEntry_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string qualificationOnEntry = "X06 - Not known";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetQualificationOnEntryComboBox(qualificationOnEntry);

            // Assert
            var error = learningDeliveryTab.GetQualificationOnEntryValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Qualification on entry {qualificationOnEntry}");
        }
        public void MajorSourceOfTuitonFees_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string majorSourceOfTuitonFees = "33 - BIS";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetMajorSourceOfTuitonFeesComboBox(majorSourceOfTuitonFees);

            // Assert
            var error = learningDeliveryTab.GetMajorSourceOfTuitonFeesValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Major source of tuiton fees {majorSourceOfTuitonFees}");
        }
        public void SpecialFeeIndicator_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string specialFeeIndicator = "9 - Other fee";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetSpecialFeeIndicatorComboBox(specialFeeIndicator);

            // Assert
            var error = learningDeliveryTab.GetSpecialFeeIndicatorValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Special fee indicator {specialFeeIndicator}");
        }
        public void PercentNotThoughtByThisInstitution_WhenCorrectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string percentNotThoughtByThisInstitution = "50";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetPercentNotThoughtByThisInstitutionTextBox(percentNotThoughtByThisInstitution);

            // Assert
            var error = learningDeliveryTab.GetPercentNotThoughtByThisInstitutionValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Percent not thought by this institution {percentNotThoughtByThisInstitution}");
        }
        public void PercentTaughtByThirdLDCSSubject_WhenCorrectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string percentTaughtByThirdLDCSSubject = "50";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetPercentTaughtByThirdLDCSSubjectTextBox(percentTaughtByThirdLDCSSubject);

            // Assert
            var error = learningDeliveryTab.GetPercentTaughtByThirdLDCSSubjectValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Percent taught by second LDCS subject {percentTaughtByThirdLDCSSubject}");
        }
        public void StudentInstanceFTE_WhenCorrectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string studentInstanceFTE = "";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetStudentInstanceFTETextBox(studentInstanceFTE);

            // Assert
            var error = learningDeliveryTab.GetStudentInstanceFTEValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Student instance FTE {studentInstanceFTE}");
        }
        public void UCASApplicationCode_WhenCorrectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string UCASApplicationCode = RandomStrings.GetRandomAlphabets(10);

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetUCASApplicationCodeTextBox(UCASApplicationCode);

            // Assert
            var error = learningDeliveryTab.GetUCASApplicationCodeValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Vaidation failed for invalid UCAS application code {UCASApplicationCode}");
        }
        public void YearOfStudentOnThisInstance_WhenCorrectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string yearOfStudentOnThisInstance = "10";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetYearOfStudentOnThisInstanceTextBox(yearOfStudentOnThisInstance);

            // Assert
            var error = learningDeliveryTab.GetYearOfStudentOnThisInstanceValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Year of student on this instance {yearOfStudentOnThisInstance}");
        }
        public void CompletionOfYearOfInstance_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string completionOfYearOfInstance = "1 - Completed the current year of programme of study";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetCompletionOfYearOfInstanceComboBox(completionOfYearOfInstance);

            // Assert
            var error = learningDeliveryTab.GetCompletionOfYearOfInstanceValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Completion of year of instance {completionOfYearOfInstance}");
        }
        public void LevelApplicableToFundingCouncilHEIFES_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string levelApplicableToFundingCouncilHEIFES = "10 - Undergraduate";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetLevelApplicableToFundingCouncilHEIFESComboBox(levelApplicableToFundingCouncilHEIFES);

            // Assert
            var error = learningDeliveryTab.GetLevelApplicableToFundingCouncilHEIFESValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Level applicable to funding council HEIFES {levelApplicableToFundingCouncilHEIFES}");
        }
        public void ModeOfStudy_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string modeOfStudy = "3 - Part-time";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetModeOfStudyComboBox(modeOfStudy);

            // Assert
            var error = learningDeliveryTab.GetModeOfStudyValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Mode of study {modeOfStudy}");
        }
        public void TypeOfInstanceYear_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string typeOfInstanceYear = "1 - Year of instance contained within the reporting period 01 August to 31 July";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetTypeOfInstanceYearComboBox(typeOfInstanceYear);

            // Assert
            var error = learningDeliveryTab.GetTypeOfInstanceYearValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Type of instance year {typeOfInstanceYear}");
        }
        public void HECenterLocationPostCode_WhenCorrectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string heCenterLocationPostCode = "12345678";

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetHECenterLocationPostCodeTextBox(heCenterLocationPostCode);

            // Assert
            var error = learningDeliveryTab.GetHECenterLocationPostCodeValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid HE center location postcode {heCenterLocationPostCode}");
        }
        public void StudentSupportNumber_WhenCorrectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string studentSupportNumber = RandomStrings.GetRandomAlphabets(10);

            // Act
            Learners_LearnerListObjects learnerTab = WindowObjects.Windows.Main.SelectLearnerTab;

            learnerTab.ClickAddLearnerButton();
            LearningDeliveryObjects learningDeliveryTab = WindowObjects.Windows.Main.SelectLearningDeliveryTab;

            learningDeliveryTab.ClickAddLearnerButton();
            learningDeliveryTab.SelectLearningDeliveryHETab();
            learningDeliveryTab.SetStudentSupportNumberTextBox(studentSupportNumber);

            // Assert
            var error = learningDeliveryTab.GetStudentSupportNumberValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Student support number {studentSupportNumber}");
        }