Beispiel #1
0
        public async Task ThenReturnsNullWhenNoLearnerRecord(
            [Frozen] Mock <IStandardService> standardService,
            [Frozen] Mock <ILearnerRepository> learnerRepository,
            Standard latestStandard,
            GetCalculatedStandardVersionForApprenticeshipRequest request,
            GetCalculatedStandardVersionForApprenticeshipHandler sut)
        {
            standardService.Setup(s => s.GetStandardVersionById(request.StandardId, null)).ReturnsAsync(latestStandard);
            learnerRepository.Setup(s => s.Get(request.Uln, latestStandard.LarsCode)).ReturnsAsync((Domain.Entities.Learner)null);

            //Act
            var result = await sut.Handle(request, new CancellationToken());

            //Assert
            result.Should().BeNull();
        }
Beispiel #2
0
        public async Task ThenSelectsCorrectVersionBasedOnLearnerStartDate_WhenLatestVersionStartDateIsNull(
            [Frozen] Mock <IStandardService> standardService,
            [Frozen] Mock <ILearnerRepository> learnerRepository,
            GetCalculatedStandardVersionForApprenticeshipRequest request,
            IEnumerable <Standard> standards,
            DateTime baseDate,
            int baseVersion,
            int larsCode,
            Domain.Entities.Learner learnerRecord,
            GetCalculatedStandardVersionForApprenticeshipHandler sut)
        {
            //Arrange
            //List defaults to 3 records in autofixture
            // Set learner date for last version
            learnerRecord.LearnStartDate = baseDate.AddYears(2);

            foreach (var s in standards)
            {
                s.Version = baseVersion.ToString();
                s.VersionLatestStartDate = baseDate;
                s.LarsCode = larsCode;

                baseVersion++;
                baseDate = baseDate.AddYears(1);
            }

            // Set latest Standard EndDate to null
            var latestVersion = standards.OrderByDescending(d => d.Version).First();

            latestVersion.VersionLatestStartDate = null;

            standardService.Setup(s => s.GetStandardVersionById(request.StandardId, null)).ReturnsAsync(latestVersion);
            standardService.Setup(s => s.GetStandardVersionsByLarsCode(larsCode)).ReturnsAsync(standards);
            learnerRepository.Setup(s => s.Get(request.Uln, larsCode)).ReturnsAsync(learnerRecord);

            //Act
            var result = await sut.Handle(request, new CancellationToken());

            //Assert
            result.Should().BeEquivalentTo(latestVersion);
        }