public void Arrange() { _service = new Mock <ICollectionCalendarService>(); _sut = new SetActivePeriodToInProgressCommandHandler(_service.Object); _previousCollectionPeriod = new Domain.ValueObjects.CollectionCalendarPeriod( new Domain.ValueObjects.CollectionPeriod(1, 2021), 1, 2021, DateTime.Now, DateTime.Now, false, false); _previousCollectionPeriod.SetPeriodEndInProgress(true); _activeCollectionPeriod = new Domain.ValueObjects.CollectionCalendarPeriod( new Domain.ValueObjects.CollectionPeriod(2, 2021), 1, 2021, DateTime.Now, DateTime.Now, false, false); _activeCollectionPeriod.SetActive(true); var calendarPeriods = new List <Domain.ValueObjects.CollectionCalendarPeriod> { _previousCollectionPeriod, _activeCollectionPeriod, new Domain.ValueObjects.CollectionCalendarPeriod( new Domain.ValueObjects.CollectionPeriod(3, 2021), 1, 2021, DateTime.Now, DateTime.Now, false, false) }; _collectionCalendar = new Domain.ValueObjects.CollectionCalendar(calendarPeriods); _service.Setup(x => x.Get()).ReturnsAsync(_collectionCalendar); }
public void Arrange() { _fixture = new Fixture(); _mockIncentiveDomainRepository = new Mock <IApprenticeshipIncentiveDomainRepository>(); _mockLearnerDomainRepository = new Mock <ILearnerDomainRepository>(); var collectionPeriods = new List <CollectionCalendarPeriod>() { new CollectionCalendarPeriod(new Domain.ValueObjects.CollectionPeriod(1, _fixture.Create <short>()), _fixture.Create <byte>(), _fixture.Create <short>(), _fixture.Create <DateTime>(), _fixture.Create <DateTime>(), true, false), }; var collectionCalendar = new Domain.ValueObjects.CollectionCalendar(collectionPeriods); _mockCollectionCalendarService = new Mock <ICollectionCalendarService>(); _mockCollectionCalendarService.Setup(m => m.Get()).ReturnsAsync(collectionCalendar); _incentiveModel = _fixture .Build <ApprenticeshipIncentiveModel>() .With(p => p.Apprenticeship, new Apprenticeship( _fixture.Create <long>(), _fixture.Create <string>(), _fixture.Create <string>(), DateTime.Today.AddYears(-26), _fixture.Create <long>(), ApprenticeshipEmployerType.Levy, _fixture.Create <string>(), _fixture.Create <DateTime>() )) .With(p => p.StartDate, DateTime.Today) .With(p => p.Status, Enums.IncentiveStatus.Active) .With(p => p.HasPossibleChangeOfCircumstances, true) .With(p => p.Phase, new IncentivePhase(Phase.Phase1)) .With(p => p.MinimumAgreementVersion, new AgreementVersion(_fixture.Create <int>())) .With(p => p.PendingPaymentModels, new List <PendingPaymentModel>()) .Create(); _incentiveModel.Apprenticeship.SetProvider(_fixture.Create <Provider>()); _incentiveModel.HasPossibleChangeOfCircumstances = true; var incentive = new ApprenticeshipIncentiveFactory().GetExisting(_incentiveModel.Id, _incentiveModel); _fixture.Register(() => incentive); _sut = new LearnerChangeOfCircumstanceCommandHandler(_mockIncentiveDomainRepository.Object, _mockLearnerDomainRepository.Object, _mockCollectionCalendarService.Object); _incentive = _fixture.Create <Domain.ApprenticeshipIncentives.ApprenticeshipIncentive>(); _learner = new LearnerFactory().GetExisting( _fixture.Build <LearnerModel>() .With(x => x.SubmissionData, _fixture.Create <SubmissionData>()) .With(x => x.ApprenticeshipIncentiveId, _incentive.Id) .Create()); _mockIncentiveDomainRepository.Setup(x => x.Find(incentive.Id)).ReturnsAsync(_incentive); _mockLearnerDomainRepository.Setup(m => m.GetOrCreate(incentive)).ReturnsAsync(_learner); }
public async Task <GetActiveCollectionPeriodResponse> Handle(GetActiveCollectionPeriodRequest query, CancellationToken cancellationToken = default) { var activePeriod = new Domain.ValueObjects.CollectionCalendar(await _queryRepository.GetAll()).GetActivePeriod(); return(new GetActiveCollectionPeriodResponse(new Abstractions.DTOs.Queries.ApprenticeshipIncentives.CollectionPeriodDto() { CollectionPeriodNumber = activePeriod.CollectionPeriod.PeriodNumber, CollectionYear = activePeriod.CollectionPeriod.AcademicYear, IsInProgress = activePeriod.PeriodEndInProgress })); }
public void Arrange() { _service = new Mock <ICollectionCalendarService>(); _sut = new UpdateCollectionPeriodCommandHandler(_service.Object); var calendarPeriods = new List <Domain.ValueObjects.CollectionPeriod> { new Domain.ValueObjects.CollectionPeriod(1, 2021), new Domain.ValueObjects.CollectionPeriod(2, 2021), new Domain.ValueObjects.CollectionPeriod(3, 2021) }; var collectionCalendar = new Domain.ValueObjects.CollectionCalendar(calendarPeriods); _service.Setup(x => x.Get()).ReturnsAsync(collectionCalendar); }
public void Arrange() { var today = new DateTime(2021, 1, 30); _collectionPeriods = new List <Domain.ValueObjects.CollectionCalendarPeriod>() { new Domain.ValueObjects.CollectionCalendarPeriod( new Domain.ValueObjects.CollectionPeriod(1, (short)today.Year), (byte)today.Month, (short)today.Year, today.AddDays(-1), today.AddDays(-1), false, false), new Domain.ValueObjects.CollectionCalendarPeriod( new Domain.ValueObjects.CollectionPeriod(2, (short)today.AddMonths(1).Year), (byte)today.AddMonths(1).Month, (short)today.AddMonths(1).Year, today.AddMonths(1).AddDays(-1), today.AddMonths(1).AddDays(-1), false, false) }; _firstCollectionPeriod = _collectionPeriods.First(); _secondCollectionPeriod = _collectionPeriods.First(p => p.CollectionPeriod.PeriodNumber != _firstCollectionPeriod.CollectionPeriod.PeriodNumber); _completionDate = DateTime.UtcNow; var calendar = new Domain.ValueObjects.CollectionCalendar(_collectionPeriods); _mockCollectionCalendarService = new Mock <ICollectionCalendarService>(); _mockCollectionCalendarService .Setup(m => m.Get()) .ReturnsAsync(calendar); _sut = new CompleteCommandHandler(_mockCollectionCalendarService.Object); }
public async Task Save(Domain.ValueObjects.CollectionCalendar collectionCalendar) { await _collectionPeriodDataRepository.Save(collectionCalendar.GetAllPeriods()); }