public void Learner_Create_Learner_MissingGivenName_ShoulldRaiseError()
        {
            Learners_LearnerListObjects learnerTab = IlrLearnerEntry.UIAutomation.Tests.WindowObjects.Windows.Main.SelectLearnerTab; //select the learner tab

            learnerTab.ClickAddLearnerButton();
            var error = learnerTab.GetGivenNameValidationMessage;

            TakeScreenShot();
            Assert.False(string.IsNullOrEmpty(error), $"Validation failed for an the missing Given Name");
        }
        public void Learner_Create_Learner_GivenNameExist_ShoulldNotRaiseError()
        {
            Learners_LearnerListObjects learnerTab = IlrLearnerEntry.UIAutomation.Tests.WindowObjects.Windows.Main.SelectLearnerTab; //select the learner tab

            learnerTab.ClickAddLearnerButton();
            learnerTab.SetGivenName(RandomStrings.GetRandomAlphabets(8));
            var error = learnerTab.GetGivenNameValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation message generated for given name");
        }
        public void Learner_Create_Learner_NumericULN_Shoul1dNotRaiseError()
        {
            Learners_LearnerListObjects learnerTab = IlrLearnerEntry.UIAutomation.Tests.WindowObjects.Windows.Main.SelectLearnerTab; //select the learner tab

            learnerTab.ClickAddLearnerButton();
            string validULN = RandomStrings.GetRandomNumber(8);

            learnerTab.SetULN(validULN);
            var error = learnerTab.GetULNValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for an invalid ULN {validULN}");
        }
        public void DateStatusApplies_WhenDateSelected_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            var dateStatusApplies = new DateTime(2018, 01, 01);

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

            learnerTab.ClickAddLearnerButton();
            EmploymentStatusObjects employmentStatusTab = WindowObjects.Windows.Main.SelectEmploymentStatusTab;

            employmentStatusTab.ClickAddEmploymentStatusButton();
            employmentStatusTab.SetDateStatusAppliesDateTime(dateStatusApplies);

            // Assert
            var error = employmentStatusTab.GetEmploymentStatusValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for Date status applies {dateStatusApplies}");
        }
        public void LengthOfEmployment_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string lengthOfEmployment = "1 - Learner has been employed for up to 3 months ";

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

            learnerTab.ClickAddLearnerButton();
            EmploymentStatusObjects employmentStatusTab = WindowObjects.Windows.Main.SelectEmploymentStatusTab;

            employmentStatusTab.ClickAddEmploymentStatusButton();
            employmentStatusTab.SetLengthOfEmploymentComboBox(lengthOfEmployment);

            // Assert
            var error = employmentStatusTab.GetLengthOfEmploymentValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for Length of employment {lengthOfEmployment}");
        }
        public void EmploymentIntensityIndicator_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string employmentIntensityIndicator = "2 - Learner is employed for less than 16 hours per week";

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

            learnerTab.ClickAddLearnerButton();
            EmploymentStatusObjects employmentStatusTab = WindowObjects.Windows.Main.SelectEmploymentStatusTab;

            employmentStatusTab.ClickAddEmploymentStatusButton();
            employmentStatusTab.SetEmploymentIntensityIndicatorComboBox(employmentIntensityIndicator);

            // Assert
            var error = employmentStatusTab.GetEmploymentIntensityIndicatorValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for Employment intensity indicator {employmentIntensityIndicator}");
        }
        public void EmploymentStatus_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string employmentStatus = "10 - In paid employment";

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

            learnerTab.ClickAddLearnerButton();
            EmploymentStatusObjects employmentStatusTab = WindowObjects.Windows.Main.SelectEmploymentStatusTab;

            employmentStatusTab.ClickAddEmploymentStatusButton();
            employmentStatusTab.SetEmploymentStatusComboBox(employmentStatus);

            // Assertwe
            var error = employmentStatusTab.GetEmploymentStatusValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for invalid Employment status {employmentStatus}");
        }
        public void BenefitStatusIndicator_WhenCorrectSelectionIsMade_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string benefitStatusIndicator = "1 - Learner is in receipt of Job Seekers Allowance (JSA) ";

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

            learnerTab.ClickAddLearnerButton();
            EmploymentStatusObjects employmentStatusTab = WindowObjects.Windows.Main.SelectEmploymentStatusTab;

            employmentStatusTab.ClickAddEmploymentStatusButton();
            employmentStatusTab.SetBenefitStatusIndicatorComboBox(benefitStatusIndicator);

            // Assert
            var error = employmentStatusTab.GetBenefitStatusIndicatorValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for Benefit status indicator {benefitStatusIndicator}");
        }
        public void AgreementIdentifier_WhenCorectValueEntered_ShouldAcceptWithNoValidationErrors()
        {
            // Arrange
            string agreementIdentifier = RandomStrings.GetRandomNumber(6);

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

            learnerTab.ClickAddLearnerButton();
            EmploymentStatusObjects employmentStatusTab = WindowObjects.Windows.Main.SelectEmploymentStatusTab;

            employmentStatusTab.ClickAddEmploymentStatusButton();
            employmentStatusTab.SetAgreementIdentifierTextBox(agreementIdentifier);

            // Assert
            var error = employmentStatusTab.GetAgreementIdentifierValidationMessage;

            TakeScreenShot();
            Assert.True(string.IsNullOrEmpty(error), $"Validation failed for Agreement Identifier {agreementIdentifier}");
        }
        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 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 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 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 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 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 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 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}");
        }
        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 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 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 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 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 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}");
        }