public async Task Then_Expected_Results_Are_Returned(long aoUkprn, long uln, bool isActiveAssessment, bool expectedResponse) { await WhenAsync(aoUkprn, uln, isActiveAssessment); if (_result == null) { expectedResponse.Should().BeFalse(); return; } TqPathwayAssessment expectedAssessment = null; if (isActiveAssessment) { expectedAssessment = _pathwayAssessments.FirstOrDefault(pa => pa.IsOptedin && pa.EndDate == null && pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln); } else { expectedAssessment = _pathwayAssessments.FirstOrDefault(pa => !pa.IsOptedin && pa.EndDate != null && pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln); } expectedAssessment.Should().NotBeNull(); var expectedAssessmentDetails = new AssessmentEntryDetails { ProfileId = expectedAssessment.TqRegistrationPathway.TqRegistrationProfileId, AssessmentId = expectedAssessment.Id, AssessmentSeriesName = expectedAssessment.AssessmentSeries.Name }; // Assert _result.ProfileId.Should().Be(expectedAssessmentDetails.ProfileId); _result.AssessmentId.Should().Be(expectedAssessmentDetails.AssessmentId); _result.AssessmentSeriesName.Should().Be(expectedAssessmentDetails.AssessmentSeriesName); }
public List <TqPathwayResult> GetPathwayResultDataToProcess(TqPathwayAssessment pathwayAssessment, bool seedPathwayResultsAsActive = true, bool isHistorical = false, bool isBulkUpload = true) { var tqPathwayResults = new List <TqPathwayResult>(); if (isHistorical) { // Historical record var pathwayResult = new TqPathwayResultBuilder().Build(pathwayAssessment, isBulkUpload: isBulkUpload); pathwayResult.IsOptedin = false; pathwayResult.EndDate = DateTime.UtcNow.AddDays(-1); var tqPathwayResultHistorical = TqPathwayResultDataProvider.CreateTqPathwayResult(DbContext, pathwayResult); tqPathwayResults.Add(tqPathwayResultHistorical); } var activePathwayResult = new TqPathwayResultBuilder().Build(pathwayAssessment, isBulkUpload: isBulkUpload); var tqPathwayResult = TqPathwayResultDataProvider.CreateTqPathwayResult(DbContext, activePathwayResult); if (!seedPathwayResultsAsActive) { tqPathwayResult.IsOptedin = pathwayAssessment.TqRegistrationPathway.Status == RegistrationPathwayStatus.Withdrawn ? true : false; tqPathwayResult.EndDate = DateTime.UtcNow; } tqPathwayResults.Add(tqPathwayResult); return(tqPathwayResults); }
public async Task WhenAsync(long aoUkprn, int assessmentId) { if (_result != null) { return; } _result = await AssessmentRepository.GetPathwayAssessmentDetailsAsync(aoUkprn, assessmentId); }
private void ValidateTqPathwayAssessments(TqPathwayAssessment expectedAssessment, TqPathwayAssessment actualAssessment) { actualAssessment.TqRegistrationPathwayId.Should().Be(expectedAssessment.TqRegistrationPathwayId); actualAssessment.AssessmentSeriesId.Should().Be(expectedAssessment.AssessmentSeriesId); actualAssessment.StartDate.Should().Be(expectedAssessment.StartDate); actualAssessment.EndDate.Should().Be(expectedAssessment.EndDate); actualAssessment.IsOptedin.Should().Be(expectedAssessment.IsOptedin); actualAssessment.IsBulkUpload.Should().Be(expectedAssessment.IsBulkUpload); actualAssessment.Id.Should().Be(expectedAssessment.Id); }
private static void AssertPathwayAssessment(TqPathwayAssessment actualAssessment, TqPathwayAssessment expectedAssessment) { actualAssessment.Should().NotBeNull(); actualAssessment.TqRegistrationPathwayId.Should().Be(expectedAssessment.TqRegistrationPathwayId); actualAssessment.AssessmentSeriesId.Should().Be(expectedAssessment.AssessmentSeriesId); actualAssessment.IsOptedin.Should().BeTrue(); actualAssessment.IsBulkUpload.Should().BeTrue(); if (actualAssessment.TqRegistrationPathway.Status == Common.Enum.RegistrationPathwayStatus.Active) { actualAssessment.EndDate.Should().BeNull(); } else { actualAssessment.EndDate.Should().NotBeNull(); } }
public void AssertPathwayAssessment(TqPathwayAssessment actualPathwayAssessment, TqPathwayAssessment expectedPathwayAssessment) { actualPathwayAssessment.TqRegistrationPathwayId.Should().Be(expectedPathwayAssessment.TqRegistrationPathwayId); actualPathwayAssessment.AssessmentSeriesId.Should().Be(expectedPathwayAssessment.AssessmentSeriesId); actualPathwayAssessment.IsOptedin.Should().Be(expectedPathwayAssessment.IsOptedin); actualPathwayAssessment.IsBulkUpload.Should().Be(actualPathwayAssessment.IsBulkUpload); actualPathwayAssessment.StartDate.ToShortDateString().Should().Be(expectedPathwayAssessment.StartDate.ToShortDateString()); if (expectedPathwayAssessment.EndDate != null) { actualPathwayAssessment.EndDate.Value.ToShortDateString().Should().Be(expectedPathwayAssessment.EndDate.Value.ToShortDateString()); } else { actualPathwayAssessment.EndDate.Should().BeNull(); } actualPathwayAssessment.CreatedBy.Should().Be(expectedPathwayAssessment.CreatedBy); }
public static TqPathwayAssessment CreateTqPathwayAssessment(ResultsAndCertificationDbContext _dbContext, int tqRegistrationPathwayId, int assessmentSeriesId, DateTime startDate, bool addToDbContext = true) { var pathwayAssessment = new TqPathwayAssessment { TqRegistrationPathwayId = tqRegistrationPathwayId, AssessmentSeriesId = assessmentSeriesId, StartDate = startDate, IsOptedin = true, IsBulkUpload = false }; if (addToDbContext) { _dbContext.Add(pathwayAssessment); } return(pathwayAssessment); }
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 }); }
public async Task WhenAsync(long aoUkprn, long uln, bool isActiveAssessment) { TqPathwayAssessment pathwayAssessment = null; if (isActiveAssessment) { pathwayAssessment = _pathwayAssessments.FirstOrDefault(pa => pa.IsOptedin && pa.EndDate == null && pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln); } else { pathwayAssessment = _pathwayAssessments.FirstOrDefault(pa => !pa.IsOptedin && pa.EndDate != null && pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln); } var assessmentId = pathwayAssessment != null ? pathwayAssessment.Id : 0; var removeAssessmentEntryRequest = new RemoveAssessmentEntryRequest { AoUkprn = aoUkprn, AssessmentId = assessmentId, PerformedBy = "Test User" }; _result = await AssessmentService.RemovePathwayAssessmentEntryAsync(removeAssessmentEntryRequest); }
private bool IsValidActivePathwayAssessment(TqPathwayAssessment pathwayAssessment) { // 1. Must be an active registration. if (pathwayAssessment == null || pathwayAssessment.TqRegistrationPathway.Status != RegistrationPathwayStatus.Active) { return(false); } // 2. Must have an active assessment. var isActiveAssessment = pathwayAssessment.IsOptedin && pathwayAssessment.EndDate == null; if (!isActiveAssessment) { return(false); } // 3. Must not have results var hasActiveResult = pathwayAssessment.TqPathwayResults.Any(x => x.IsOptedin && x.EndDate == null); return(!hasActiveResult); }
public async Task WhenAsync(long aoUkprn, long uln, bool isActiveAssessment) { if (_result != null) { return; } TqPathwayAssessment pathwayAssessment = null; if (isActiveAssessment) { pathwayAssessment = _pathwayAssessments.FirstOrDefault(pa => pa.IsOptedin && pa.EndDate == null && pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln); } else { pathwayAssessment = _pathwayAssessments.FirstOrDefault(pa => !pa.IsOptedin && pa.EndDate != null && pa.TqRegistrationPathway.TqRegistrationProfile.UniqueLearnerNumber == uln); } var assessmentId = pathwayAssessment != null ? pathwayAssessment.Id : 0; _result = await AssessmentService.GetActivePathwayAssessmentEntryDetailsAsync(aoUkprn, assessmentId); }
public static void AssertPathwayAssessment(TqPathwayAssessment actualAssessment, TqPathwayAssessment expectedAssessment, bool isRejoin = false) { actualAssessment.Should().NotBeNull(); if (!isRejoin) { actualAssessment.TqRegistrationPathwayId.Should().Be(expectedAssessment.TqRegistrationPathwayId); } actualAssessment.TqRegistrationPathway.TqProviderId.Should().Be(expectedAssessment.TqRegistrationPathway.TqProviderId); actualAssessment.AssessmentSeriesId.Should().Be(expectedAssessment.AssessmentSeriesId); actualAssessment.IsOptedin.Should().BeTrue(); actualAssessment.IsBulkUpload.Should().BeFalse(); if (actualAssessment.TqRegistrationPathway.Status == RegistrationPathwayStatus.Active) { actualAssessment.EndDate.Should().BeNull(); } else { actualAssessment.EndDate.Should().NotBeNull(); } }
public IList <TqPathwayResult> BuildList(TqPathwayAssessment tqPathwayAssessment = null, bool isBulkUpload = true) { tqPathwayAssessment ??= new TqPathwayAssessmentBuilder().Build(); var tlLookupPathwayComponentGrades = new TlLookupBuilder().BuildList(); var TqPathwayResults = new List <TqPathwayResult> { new TqPathwayResult { TqPathwayAssessmentId = tqPathwayAssessment.Id, TqPathwayAssessment = tqPathwayAssessment, TlLookupId = tlLookupPathwayComponentGrades[0].Id, StartDate = DateTime.UtcNow, IsOptedin = true, IsBulkUpload = isBulkUpload, CreatedBy = Constants.CreatedByUser, CreatedOn = Constants.CreatedOn, ModifiedBy = Constants.ModifiedByUser, ModifiedOn = Constants.ModifiedOn }, new TqPathwayResult { TqPathwayAssessmentId = tqPathwayAssessment.Id, TqPathwayAssessment = tqPathwayAssessment, TlLookupId = tlLookupPathwayComponentGrades[1].Id, StartDate = DateTime.UtcNow, IsOptedin = true, IsBulkUpload = isBulkUpload, CreatedBy = Constants.CreatedByUser, CreatedOn = Constants.CreatedOn, ModifiedBy = Constants.ModifiedByUser, ModifiedOn = Constants.ModifiedOn } }; return(TqPathwayResults); }
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 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 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 TqPathwayAssessment CreateTqPathwayAssessment(ResultsAndCertificationDbContext _dbContext, TqPathwayAssessment pathwayAssessment, bool addToDbContext = true) { if (pathwayAssessment == null) { pathwayAssessment = new TqPathwayAssessmentBuilder().Build(); } if (addToDbContext) { _dbContext.Add(pathwayAssessment); } return(pathwayAssessment); }