public async Task Then_Returns_Expected_Results() { // when var profileId = _bulkRegistrationTestFixture.DbContext.TqRegistrationProfile.AsNoTracking().FirstOrDefault(x => x.UniqueLearnerNumber == _bulkRegistrationTestFixture.Uln)?.Id; var reJoinRegistrationRequest = new RejoinRegistrationRequest { ProfileId = profileId ?? 0, AoUkprn = _bulkRegistrationTestFixture.TlAwardingOrganisation.UkPrn, PerformedBy = "Test User" }; await _bulkRegistrationTestFixture.WhenReJoinAsync(reJoinRegistrationRequest); // then _result = _bulkRegistrationTestFixture.RejoinResult; _result.Should().BeTrue(); var expectedRegistrationProfile = _bulkRegistrationTestFixture.TqRegistrationProfilesData.FirstOrDefault(p => p.UniqueLearnerNumber == _bulkRegistrationTestFixture.Uln); var actualRegistrationProfile = _bulkRegistrationTestFixture.DbContext.TqRegistrationProfile.AsNoTracking().Where(x => x.UniqueLearnerNumber == _bulkRegistrationTestFixture.Uln) .Include(x => x.TqRegistrationPathways) .ThenInclude(x => x.TqRegistrationSpecialisms) .Include(x => x.TqRegistrationPathways) .ThenInclude(x => x.TqPathwayAssessments) .ThenInclude(x => x.TqPathwayResults) .FirstOrDefault(); // assert registration profile data actualRegistrationProfile.Should().NotBeNull(); actualRegistrationProfile.UniqueLearnerNumber.Should().Be(expectedRegistrationProfile.UniqueLearnerNumber); actualRegistrationProfile.Firstname.Should().Be(expectedRegistrationProfile.Firstname); actualRegistrationProfile.Lastname.Should().Be(expectedRegistrationProfile.Lastname); actualRegistrationProfile.DateofBirth.Should().Be(expectedRegistrationProfile.DateofBirth); actualRegistrationProfile.UniqueLearnerNumber.Should().Be(expectedRegistrationProfile.UniqueLearnerNumber); // Assert registration pathway data actualRegistrationProfile.TqRegistrationPathways.Where(x => x.Status == RegistrationPathwayStatus.Active).ToList().Count.Should().Be(1); actualRegistrationProfile.TqRegistrationPathways.Where(x => x.Status == RegistrationPathwayStatus.Withdrawn).ToList().Count.Should().Be(1); // Assert Any Active Pathway actualRegistrationProfile.TqRegistrationPathways.Any(x => x.Status == RegistrationPathwayStatus.Active).Should().BeTrue(); // Assert Active Pathway var actualActivePathway = actualRegistrationProfile.TqRegistrationPathways.FirstOrDefault(x => x.EndDate == null && x.Status == RegistrationPathwayStatus.Active); var expectedActivePathway = expectedRegistrationProfile.TqRegistrationPathways.FirstOrDefault(x => actualRegistrationProfile.TqRegistrationPathways.Any(y => y.TqProviderId == x.TqProviderId)); AssertRegistrationPathway(actualActivePathway, expectedActivePathway, false); // Assert Withdrawn PathwayAssessment var actualActiveAssessment = actualActivePathway.TqPathwayAssessments.FirstOrDefault(x => x.EndDate == null); var expectedPreviousAssessment = expectedActivePathway.TqPathwayAssessments.FirstOrDefault(x => x.EndDate != null); AssertPathwayAssessment(actualActiveAssessment, expectedPreviousAssessment, isRejoin: true); // Assert Active PathwayResult var actualActiveResult = actualActiveAssessment.TqPathwayResults.FirstOrDefault(x => x.EndDate == null); var expectedPreviousResult = expectedPreviousAssessment.TqPathwayResults.FirstOrDefault(x => x.EndDate != null); AssertPathwayResults(actualActiveResult, expectedPreviousResult, isRejoin: true); }
public override void Given() { ApiClientResponse = true; ViewModel = new RejoinRegistrationViewModel { ProfileId = 1, Uln = Uln }; Loader = new RegistrationLoader(Mapper, Logger, InternalApiClient, BlobStorageService); reJoinRequest = new RejoinRegistrationRequest { AoUkprn = AoUkprn, ProfileId = ProfileId, PerformedBy = $"{Givenname} {Surname}" }; InternalApiClient.RejoinRegistrationAsync(Arg.Any <RejoinRegistrationRequest>()).Returns(ApiClientResponse); }
public override void Setup() { _tokenServiceClient = Substitute.For <ITokenServiceClient>(); _configuration = new ResultsAndCertificationConfiguration { ResultsAndCertificationInternalApiSettings = new ResultsAndCertificationInternalApiSettings { Uri = "http://tlevel.api.com" } }; _mockHttpResult = true; _model = new RejoinRegistrationRequest { ProfileId = 1, AoUkprn = 1234567890, PerformedBy = "Test User" }; }
public override void Given() { // Seed Tlevel data for pearson _uln = 1111111111; SeedTestData(EnumAwardingOrganisation.Pearson, true); _tqRegistrationProfile = SeedRegistrationData(_uln); // Assessments seed var tqPathwayAssessmentsSeedData = new List <TqPathwayAssessment>(); var pathwayAssessments = GetPathwayAssessmentsDataToProcess(_tqRegistrationProfile.TqRegistrationPathways.ToList(), isBulkUpload: false); tqPathwayAssessmentsSeedData.AddRange(pathwayAssessments); SeedPathwayAssessmentsData(tqPathwayAssessmentsSeedData, false); var tqPathwayResultsSeedData = new List <TqPathwayResult>(); foreach (var assessment in pathwayAssessments) { tqPathwayResultsSeedData.AddRange(GetPathwayResultsDataToProcess(new List <TqPathwayAssessment> { assessment }, isBulkUpload: false)); } SeedPathwayResultsData(tqPathwayResultsSeedData, false); DbContext.SaveChangesAsync(); CreateMapper(); ProviderRepositoryLogger = new Logger <ProviderRepository>(new NullLoggerFactory()); RegistrationRepositoryLogger = new Logger <RegistrationRepository>(new NullLoggerFactory()); TqRegistrationPathwayRepositoryLogger = new Logger <GenericRepository <TqRegistrationPathway> >(new NullLoggerFactory()); TqRegistrationSpecialismRepositoryLogger = new Logger <GenericRepository <TqRegistrationSpecialism> >(new NullLoggerFactory()); ProviderRepository = new ProviderRepository(ProviderRepositoryLogger, DbContext); RegistrationRepository = new RegistrationRepository(RegistrationRepositoryLogger, DbContext); TqRegistrationPathwayRepository = new GenericRepository <TqRegistrationPathway>(TqRegistrationPathwayRepositoryLogger, DbContext); TqRegistrationSpecialismRepository = new GenericRepository <TqRegistrationSpecialism>(TqRegistrationSpecialismRepositoryLogger, DbContext); RegistrationService = new RegistrationService(ProviderRepository, RegistrationRepository, TqRegistrationPathwayRepository, TqRegistrationSpecialismRepository, RegistrationMapper, RegistrationRepositoryLogger); _reJoinRegistrationRequest = new RejoinRegistrationRequest { AoUkprn = TlAwardingOrganisation.UkPrn, PerformedBy = "Test User" }; }
public async Task <bool> RejoinRegistrationAsync(RejoinRegistrationRequest model) { var requestUri = ApiConstants.RejoinRegistrationUri; return(await PutAsync <RejoinRegistrationRequest, bool>(requestUri, model)); }
public async Task WhenReJoinAsync(RejoinRegistrationRequest rejoinRegistrationRequest) { RejoinResult = await RegistrationService.RejoinRegistrationAsync(rejoinRegistrationRequest); }
public async Task <bool> RejoinRegistrationAsync(RejoinRegistrationRequest model) { return(await _registrationService.RejoinRegistrationAsync(model)); }