コード例 #1
0
 public Qualification Build(QualificationType qualificationType = null, TlLookup subjectLookup = null) => new Qualification
 {
     TlLookup          = subjectLookup ?? new TlLookupBuilder().BuildSubjectType(),
     QualificationType = qualificationType ?? new QualificationTypeBuilder().Build(),
     Code  = "100/1976/5",
     Title = "EDEXCEL Level 1/Level 2 GCSE in English Literature",
     IsSendQualification = false,
     IsActive            = true,
     CreatedBy           = Constants.CreatedByUser,
     CreatedOn           = Constants.CreatedOn,
     ModifiedBy          = Constants.ModifiedByUser,
     ModifiedOn          = Constants.ModifiedOn
 };
コード例 #2
0
        public static TlLookup CreateTlLookup(ResultsAndCertificationDbContext _dbContext, string category, string code, string value, bool isActive, int?sortOrder, bool addToDbContext = true)
        {
            var tlLookup = new TlLookup
            {
                Category  = category,
                Code      = code,
                Value     = value,
                IsActive  = isActive,
                SortOrder = sortOrder,
                CreatedBy = "Test User"
            };

            if (addToDbContext)
            {
                _dbContext.Add(tlLookup);
            }
            return(tlLookup);
        }
 public TqPathwayResult Build(TqPathwayAssessment tqPathwayAssessment = null, TlLookup tlLookupPathwayComponentGrade = null, bool isBulkUpload = true)
 {
     tqPathwayAssessment ??= new TqPathwayAssessmentBuilder().Build();
     tlLookupPathwayComponentGrade ??= new TlLookupBuilder().Build();
     return(new TqPathwayResult
     {
         TqPathwayAssessmentId = tqPathwayAssessment.Id,
         TqPathwayAssessment = tqPathwayAssessment,
         TlLookupId = tlLookupPathwayComponentGrade.Id,
         TlLookup = tlLookupPathwayComponentGrade,
         StartDate = DateTime.UtcNow,
         IsOptedin = true,
         IsBulkUpload = isBulkUpload,
         CreatedBy = Constants.CreatedByUser,
         CreatedOn = Constants.CreatedOn,
         ModifiedBy = Constants.ModifiedByUser,
         ModifiedOn = Constants.ModifiedOn
     });
 }
コード例 #4
0
        public void Expected_Results_Are_Returned()
        {
            _stage3Result.Result.Should().NotBeNull();
            _stage3Result.Result.Count().Should().Be(_stage2Response.Count());

            // 1. ULN not recognised with AO
            var rowIndex     = 0;
            var actualResult = _stage3Result.Result[rowIndex];

            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(1);
            var expectedErrors = new List <string> {
                ValidationMessages.UlnNotRegistered
            };

            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 2. ULN is withdrawn
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(1);
            expectedErrors = new List <string> {
                ValidationMessages.CannotAddResultToWithdrawnRegistration
            };
            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 3. Invalid - Core Code
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(1);
            expectedErrors = new List <string> {
                ValidationMessages.InvalidCoreComponentCode
            };
            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 4. Invalid - Assessment Series
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(1);
            expectedErrors = new List <string> {
                ValidationMessages.InvalidCoreAssessmentSeriesEntry
            };
            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 5. Invalid - Core Grade
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(1);
            expectedErrors = new List <string> {
                ValidationMessages.InvalidCoreComponentGrade
            };
            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 6. Invalid - No assessment entry is currently active
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(1);
            expectedErrors = new List <string> {
                ValidationMessages.NoCoreAssessmentEntryCurrentlyActive
            };
            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 7. Invalid - Assessment entry mapping error
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(1);
            expectedErrors = new List <string> {
                ValidationMessages.AssessmentSeriesDoesNotMatchTheSeriesOnTheRegistration
            };
            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 8. Invalid - Combination of Core code, Core assessment series and core grade error
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(3);
            expectedErrors = new List <string>
            {
                ValidationMessages.InvalidCoreComponentCode,
                ValidationMessages.InvalidCoreAssessmentSeriesEntry,
                ValidationMessages.InvalidCoreComponentGrade
            };
            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 9. Invalid - Combination of Core code, Core assessment series, core grade and No assessment entry is currently active error
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeFalse();
            actualResult.ValidationErrors.Count.Should().Be(4);
            expectedErrors = new List <string>
            {
                ValidationMessages.InvalidCoreComponentCode,
                ValidationMessages.InvalidCoreAssessmentSeriesEntry,
                ValidationMessages.InvalidCoreComponentGrade,
                ValidationMessages.NoCoreAssessmentEntryCurrentlyActive
            };
            TestValidatonErrors(actualResult.ValidationErrors, expectedErrors, rowIndex);

            // 10. Valid Row.
            rowIndex++;
            actualResult = _stage3Result.Result[rowIndex];
            actualResult.IsValid.Should().BeTrue();
            actualResult.ValidationErrors.Count.Should().Be(0);

            var expectedTqPathwayAssessmentId = _pathwayAssessments.FirstOrDefault(pa => pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == _stage2Response[rowIndex].Uln && pa.IsOptedin && pa.EndDate == null)?.Id;
            var expectedTlLookupId            = TlLookup.FirstOrDefault(x => x.Category.Equals(LookupCategory.PathwayComponentGrade.ToString(), StringComparison.InvariantCultureIgnoreCase) && x.Value.Equals(_stage2Response[rowIndex].CoreGrade, StringComparison.InvariantCultureIgnoreCase))?.Id;

            actualResult.TqPathwayAssessmentId.Should().Be(expectedTqPathwayAssessmentId);
            actualResult.PathwayComponentGradeLookupId.Should().Be(expectedTlLookupId);
        }
コード例 #5
0
        public static TlLookup CreateTlLookup(ResultsAndCertificationDbContext _dbContext, TlLookup tlLookup, bool addToDbContext = true)
        {
            if (tlLookup == null)
            {
                tlLookup = new TlLookupBuilder().Build();
            }

            if (addToDbContext)
            {
                _dbContext.Add(tlLookup);
            }
            return(tlLookup);
        }
        public static Qualification CreateQualification(ResultsAndCertificationDbContext _dbContext, QualificationType qualificationType, TlLookup tlLookup, string code, string title, bool isSendQualification, bool isActive, bool addToDbContext = true)
        {
            if (qualificationType != null && tlLookup != null)
            {
                var qualification = new Qualification
                {
                    QualificationTypeId = qualificationType.Id,
                    QualificationType   = qualificationType,
                    TlLookupId          = tlLookup.Id,
                    TlLookup            = tlLookup,
                    Code  = code,
                    Title = title,
                    IsSendQualification = isSendQualification,
                    IsActive            = isActive,
                    CreatedBy           = "Test User"
                };

                if (addToDbContext)
                {
                    _dbContext.Add(qualification);
                }
                return(qualification);
            }
            return(null);
        }