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