示例#1
0
        private void SeedRegistrationData(long uln, RegistrationPathwayStatus status = RegistrationPathwayStatus.Active)
        {
            var profile = new TqRegistrationProfileBuilder().BuildList().FirstOrDefault(p => p.UniqueLearnerNumber == uln);
            var tqRegistrationProfile = RegistrationsDataProvider.CreateTqRegistrationProfile(DbContext, profile);
            var tqRegistrationPathway = RegistrationsDataProvider.CreateTqRegistrationPathway(DbContext, tqRegistrationProfile, TqProviders.First());

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                tqRegistrationPathway.Status  = status;
                tqRegistrationPathway.EndDate = DateTime.UtcNow.AddDays(-1);
            }

            DbContext.SaveChangesAsync();
        }
        public TqRegistrationProfile SeedRegistrationData(long uln, RegistrationPathwayStatus status = RegistrationPathwayStatus.Active, TqProvider tqProvider = null)
        {
            var profile = new TqRegistrationProfileBuilder().BuildList().FirstOrDefault(p => p.UniqueLearnerNumber == uln);
            var tqRegistrationProfile    = RegistrationsDataProvider.CreateTqRegistrationProfile(DbContext, profile);
            var tqRegistrationPathway    = RegistrationsDataProvider.CreateTqRegistrationPathway(DbContext, tqRegistrationProfile, tqProvider ?? TqProviders.First());
            var tqRegistrationSpecialism = RegistrationsDataProvider.CreateTqRegistrationSpecialism(DbContext, tqRegistrationPathway, Specialism);

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                tqRegistrationPathway.Status       = status;
                tqRegistrationPathway.EndDate      = DateTime.UtcNow.AddDays(-1);
                tqRegistrationSpecialism.IsOptedin = true;
                tqRegistrationSpecialism.EndDate   = DateTime.UtcNow.AddDays(-1);
            }

            DbContext.SaveChanges();
            return(profile);
        }
        public async Task Then_Expected_Results_Are_Returned(long aoUkprn, long uln, int profileId, RegistrationPathwayStatus status, bool expectedResponse)
        {
            await WhenAsync(aoUkprn, profileId);

            if (_result == null)
            {
                expectedResponse.Should().BeFalse();
                return;
            }

            var expectedRegistration = _registrations.SingleOrDefault(x => x.UniqueLearnerNumber == uln);

            expectedRegistration.Should().NotBeNull();

            TqRegistrationPathway expectedPathway = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedPathway = expectedRegistration.TqRegistrationPathways.FirstOrDefault(p => p.Status == status && p.EndDate != null);
            }
            else
            {
                expectedPathway = expectedRegistration.TqRegistrationPathways.FirstOrDefault(p => p.Status == status && p.EndDate == null);
            }

            expectedPathway.Should().NotBeNull();

            TqRegistrationSpecialism expectedSpecialim = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedSpecialim = expectedPathway.TqRegistrationSpecialisms.FirstOrDefault(s => s.IsOptedin && s.EndDate != null);
            }
            else
            {
                expectedSpecialim = expectedPathway.TqRegistrationSpecialisms.FirstOrDefault(s => s.IsOptedin && s.EndDate == null);
            }

            TqPathwayAssessment expectedPathwayAssessment = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedPathwayAssessment = _pathwayAssessments.FirstOrDefault(x => x.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln && x.IsOptedin && x.EndDate != null);
            }
            else
            {
                expectedPathwayAssessment = _pathwayAssessments.FirstOrDefault(x => x.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln && x.IsOptedin && x.EndDate == null);
            }

            var expectedAssessmentDetails = new ResultDetails
            {
                ProfileId     = expectedRegistration.Id,
                Uln           = expectedRegistration.UniqueLearnerNumber,
                Firstname     = expectedRegistration.Firstname,
                Lastname      = expectedRegistration.Lastname,
                ProviderUkprn = expectedPathway.TqProvider.TlProvider.UkPrn,
                ProviderName  = expectedPathway.TqProvider.TlProvider.Name,
                Status        = expectedPathway.Status
            };

            // Assert
            _result.ProfileId.Should().Be(expectedAssessmentDetails.ProfileId);
            _result.Uln.Should().Be(expectedAssessmentDetails.Uln);
            _result.Firstname.Should().Be(expectedAssessmentDetails.Firstname);
            _result.Lastname.Should().Be(expectedAssessmentDetails.Lastname);
            _result.ProviderUkprn.Should().Be(expectedAssessmentDetails.ProviderUkprn);
            _result.ProviderName.Should().Be(expectedAssessmentDetails.ProviderName);
            _result.Status.Should().Be(expectedAssessmentDetails.Status);
        }
        public async Task Then_Expected_Results_Are_Returned(long aoUkprn, long uln, int profileId, RegistrationPathwayStatus status, bool hasAssessments, bool expectedResponse)
        {
            await WhenAsync(aoUkprn, profileId);

            if (_result == null)
            {
                expectedResponse.Should().BeFalse();
                return;
            }

            // Expected result
            var expectedRegistration = _registrations.SingleOrDefault(x => x.UniqueLearnerNumber == uln);

            expectedRegistration.Should().NotBeNull();

            TqRegistrationPathway expectedPathway = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedPathway = expectedRegistration.TqRegistrationPathways.FirstOrDefault(p => p.Status == status && p.EndDate != null);
            }
            else
            {
                expectedPathway = expectedRegistration.TqRegistrationPathways.FirstOrDefault(p => p.Status == status && p.EndDate == null);
            }

            expectedPathway.Should().NotBeNull();

            TqRegistrationSpecialism expectedSpecialim = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedSpecialim = expectedPathway.TqRegistrationSpecialisms.FirstOrDefault(s => s.IsOptedin && s.EndDate != null);
            }
            else
            {
                expectedSpecialim = expectedPathway.TqRegistrationSpecialisms.FirstOrDefault(s => s.IsOptedin && s.EndDate == null);
            }

            TqPathwayAssessment expectedPathwayAssessment = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedPathwayAssessment = _pathwayAssessments.FirstOrDefault(x => x.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln && x.IsOptedin && x.EndDate != null);
            }
            else
            {
                expectedPathwayAssessment = _pathwayAssessments.FirstOrDefault(x => x.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln && x.IsOptedin && x.EndDate == null);
            }

            TqPathwayResult expectedPathwayResult = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedPathwayResult = _pathwayResults.FirstOrDefault(x => expectedPathwayAssessment != null && x.TqPathwayAssessmentId == expectedPathwayAssessment.Id && x.IsOptedin && x.EndDate != null);
            }
            else
            {
                expectedPathwayResult = _pathwayResults.FirstOrDefault(x => expectedPathwayAssessment != null && x.TqPathwayAssessmentId == expectedPathwayAssessment.Id && x.IsOptedin && x.EndDate == null);
            }

            _result.Should().NotBeNull();

            // Actual result
            var actualPathway           = _result;
            var actualSpecialism        = actualPathway.TqRegistrationSpecialisms.FirstOrDefault();
            var actualPathwayAssessment = actualPathway.TqPathwayAssessments.FirstOrDefault();

            // Assert Registration Pathway
            actualPathway.TqRegistrationProfileId.Should().Be(expectedPathway.TqRegistrationProfileId);
            actualPathway.TqProviderId.Should().Be(expectedPathway.TqProviderId);
            actualPathway.AcademicYear.Should().Be(expectedPathway.AcademicYear);
            actualPathway.StartDate.Should().Be(expectedPathway.StartDate);
            actualPathway.EndDate.Should().Be(expectedPathway.EndDate);
            actualPathway.Status.Should().Be(expectedPathway.Status);

            // Assert Registration Specialism
            actualSpecialism.TqRegistrationPathwayId.Should().Be(expectedSpecialim.TqRegistrationPathwayId);
            actualSpecialism.TlSpecialismId.Should().Be(expectedSpecialim.TlSpecialismId);
            actualSpecialism.StartDate.Should().Be(expectedSpecialim.StartDate);
            actualSpecialism.EndDate.Should().Be(expectedSpecialim.EndDate);
            actualSpecialism.IsOptedin.Should().Be(expectedSpecialim.IsOptedin);

            // Assert Assessments
            if (hasAssessments)
            {
                AssertPathwayAssessment(actualPathwayAssessment, expectedPathwayAssessment);
                AssertPathwayResult(expectedPathwayResult, expectedPathwayResult);
            }
        }
        public static TqRegistrationPathway CreateTqRegistrationPathway(ResultsAndCertificationDbContext _dbContext, TqRegistrationProfile tqRegistrationProfile, int tqProviderId, DateTime registrationDate, RegistrationPathwayStatus status = RegistrationPathwayStatus.Active, bool addToDbContext = true)
        {
            if (tqRegistrationProfile == null)
            {
                tqRegistrationProfile = new TqRegistrationProfileBuilder().Build();
            }

            var tqRegistrationPathway = new TqRegistrationPathway
            {
                TqRegistrationProfileId = tqRegistrationProfile.Id,
                TqProviderId            = tqProviderId,
                AcademicYear            = registrationDate.Year,
                StartDate    = DateTime.UtcNow,
                Status       = status,
                IsBulkUpload = true
            };

            if (addToDbContext)
            {
                _dbContext.Add(tqRegistrationPathway);
            }
            return(tqRegistrationPathway);
        }
示例#6
0
        public async Task Then_Expected_Results_Are_Returned(long aoUkprn, long uln, int profileId, RegistrationPathwayStatus status, bool expectedResponse)
        {
            await WhenAsync(aoUkprn, profileId);

            if (_result == null)
            {
                expectedResponse.Should().BeFalse();
                return;
            }

            var expectedRegistration = _registrations.SingleOrDefault(x => x.UniqueLearnerNumber == uln);

            expectedRegistration.Should().NotBeNull();

            TqRegistrationPathway expectedPathway = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedPathway = expectedRegistration.TqRegistrationPathways.FirstOrDefault(p => p.Status == status && p.EndDate != null);
            }
            else
            {
                expectedPathway = expectedRegistration.TqRegistrationPathways.FirstOrDefault(p => p.Status == status && p.EndDate == null);
            }

            expectedPathway.Should().NotBeNull();

            TqRegistrationSpecialism expectedSpecialim = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedSpecialim = expectedPathway.TqRegistrationSpecialisms.FirstOrDefault(s => s.IsOptedin && s.EndDate != null);
            }
            else
            {
                expectedSpecialim = expectedPathway.TqRegistrationSpecialisms.FirstOrDefault(s => s.IsOptedin && s.EndDate == null);
            }

            TqPathwayAssessment expectedPathwayAssessment = null;
            TqPathwayResult     expectedPathwayResult     = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedPathwayAssessment = _pathwayAssessments.FirstOrDefault(x => x.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln && x.IsOptedin && x.EndDate != null);
                expectedPathwayResult     = expectedPathwayAssessment?.TqPathwayResults.FirstOrDefault(x => x.IsOptedin && x.EndDate != null);
            }
            else
            {
                expectedPathwayAssessment = _pathwayAssessments.FirstOrDefault(x => x.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln && x.IsOptedin && x.EndDate == null);
                expectedPathwayResult     = expectedPathwayAssessment?.TqPathwayResults.FirstOrDefault(x => x.IsOptedin && x.EndDate == null);
            }

            TqSpecialismAssessment expectedSpecialismAssessment = null;

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                expectedSpecialismAssessment = _specialismAssessments.FirstOrDefault(x => x.TqRegistrationSpecialismId == expectedSpecialim.Id && x.IsOptedin && x.EndDate != null);
            }
            else
            {
                expectedSpecialismAssessment = _specialismAssessments.FirstOrDefault(x => x.TqRegistrationSpecialismId == expectedSpecialim.Id && x.IsOptedin && x.EndDate == null);
            }

            var expectedAssessmentDetails = new AssessmentDetails
            {
                ProfileId               = expectedRegistration.Id,
                Uln                     = expectedRegistration.UniqueLearnerNumber,
                Firstname               = expectedRegistration.Firstname,
                Lastname                = expectedRegistration.Lastname,
                ProviderUkprn           = expectedPathway.TqProvider.TlProvider.UkPrn,
                ProviderName            = expectedPathway.TqProvider.TlProvider.Name,
                PathwayLarId            = expectedPathway.TqProvider.TqAwardingOrganisation.TlPathway.LarId,
                PathwayName             = expectedPathway.TqProvider.TqAwardingOrganisation.TlPathway.Name,
                PathwayAssessmentSeries = expectedPathwayAssessment?.AssessmentSeries.Name,
                PathwayAssessmentId     = expectedPathwayAssessment != null ? expectedPathwayAssessment.Id : (int?)null,

                SpecialismLarId            = expectedSpecialim?.TlSpecialism.LarId,
                SpecialismName             = expectedSpecialim?.TlSpecialism.Name,
                SpecialismAssessmentSeries = expectedSpecialismAssessment?.AssessmentSeries.Name,
                SpecialismAssessmentId     = expectedSpecialismAssessment != null ? expectedSpecialismAssessment.Id : (int?)null,
                Status = expectedPathway.Status,

                PathwayResultId = expectedPathwayResult?.Id
            };

            var expectedIsIndustryPlacementExist = expectedRegistration.TqRegistrationPathways.FirstOrDefault().IndustryPlacements.Any();

            // Assert
            _result.ProfileId.Should().Be(expectedAssessmentDetails.ProfileId);
            _result.Uln.Should().Be(expectedAssessmentDetails.Uln);
            _result.Firstname.Should().Be(expectedAssessmentDetails.Firstname);
            _result.Lastname.Should().Be(expectedAssessmentDetails.Lastname);
            _result.ProviderUkprn.Should().Be(expectedAssessmentDetails.ProviderUkprn);
            _result.ProviderName.Should().Be(expectedAssessmentDetails.ProviderName);
            _result.PathwayLarId.Should().Be(expectedAssessmentDetails.PathwayLarId);
            _result.PathwayName.Should().Be(expectedAssessmentDetails.PathwayName);
            _result.PathwayAssessmentSeries.Should().Be(expectedAssessmentDetails.PathwayAssessmentSeries);
            _result.PathwayAssessmentId.Should().Be(expectedAssessmentDetails.PathwayAssessmentId);
            _result.SpecialismLarId.Should().Be(expectedAssessmentDetails.SpecialismLarId);
            _result.SpecialismName.Should().Be(expectedAssessmentDetails.SpecialismName);
            _result.SpecialismAssessmentSeries.Should().Be(expectedAssessmentDetails.SpecialismAssessmentSeries);
            _result.SpecialismAssessmentId.Should().Be(expectedAssessmentDetails.SpecialismAssessmentId);
            _result.Status.Should().Be(expectedAssessmentDetails.Status);
            _result.PathwayResultId.Should().Be(expectedAssessmentDetails.PathwayResultId);
            _result.IsIndustryPlacementExist.Should().Be(expectedIsIndustryPlacementExist);
        }
示例#7
0
        public TqRegistrationProfile SeedRegistrationData(long uln, TqProvider tqProvider = null, RegistrationPathwayStatus status = RegistrationPathwayStatus.Active, bool isBulkUpload = true, bool seedIndustryPlacement = false)
        {
            var profile = new TqRegistrationProfileBuilder().BuildList().FirstOrDefault(p => p.UniqueLearnerNumber == uln);
            var tqRegistrationProfile = RegistrationsDataProvider.CreateTqRegistrationProfile(DbContext, profile);
            var tqRegistrationPathway = RegistrationsDataProvider.CreateTqRegistrationPathway(DbContext, tqRegistrationProfile, tqProvider ?? TqProviders.First());

            if (seedIndustryPlacement)
            {
                var industryPlacement = IndustryPlacementProvider.CreateIndustryPlacement(DbContext, new IndustryPlacement {
                    Status = IndustryPlacementStatus.Completed, CreatedBy = "Test User"
                });
                tqRegistrationPathway.IndustryPlacements.Add(industryPlacement);
            }

            tqRegistrationPathway.IsBulkUpload = isBulkUpload;


            foreach (var specialism in TlSpecialisms)
            {
                var tqSpecialism = RegistrationsDataProvider.CreateTqRegistrationSpecialism(DbContext, tqRegistrationPathway, specialism);
                tqSpecialism.IsBulkUpload = isBulkUpload;
                tqRegistrationPathway.TqRegistrationSpecialisms.Add(tqSpecialism);
            }

            if (status == RegistrationPathwayStatus.Withdrawn)
            {
                tqRegistrationPathway.Status  = status;
                tqRegistrationPathway.EndDate = DateTime.UtcNow.AddDays(-1);

                foreach (var tqRegistrationSpecialism in tqRegistrationPathway.TqRegistrationSpecialisms)
                {
                    tqRegistrationSpecialism.IsOptedin = true;
                    tqRegistrationSpecialism.EndDate   = DateTime.UtcNow.AddDays(-1);
                }
            }

            DbContext.SaveChanges();
            return(profile);
        }
示例#8
0
        public async Task <T> GetRegistrationProfileAsync <T>(long aoUkprn, int profileId, RegistrationPathwayStatus status = RegistrationPathwayStatus.Active)
        {
            var response = await _internalApiClient.GetRegistrationDetailsAsync(aoUkprn, profileId, status);

            return(_mapper.Map <T>(response));
        }