Example #1
0
        public async Task ShouldSetRecordStatusTextForApprenticeshipWithUpdateReadyForReview()
        {
            MockDateTime.Setup(m => m.Now).Returns(new DateTime(1998, 12, 8));
            MockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipQueryRequest>()))
            .ReturnsAsync(new GetApprenticeshipQueryResponse
            {
                Apprenticeship =
                    new Apprenticeship {
                    PaymentStatus             = PaymentStatus.Active
                    , StartDate               = new DateTime(1998, 11, 1)
                    , PendingUpdateOriginator = Originator.Provider
                }
            });

            MockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipUpdateRequest>()))
            .ReturnsAsync(new GetApprenticeshipUpdateResponse
            {
                ApprenticeshipUpdate =
                    new ApprenticeshipUpdate {
                    ApprenticeshipId = 1L, Originator = Originator.Provider
                }
            });

            var result = await Orchestrator.GetApprenticeship("hashedAccountId", "hashedApprenticeshipId", "UserId");

            MockMediator.Verify(m => m.SendAsync(It.IsAny <GetApprenticeshipQueryRequest>()), Times.Once);
            result.Data.PendingChanges.Should().Be(PendingChanges.ReadyForApproval);
        }
Example #2
0
        public void Arrange()
        {
            _now = new DateTime(DateTime.Now.Year, 11, 01);

            AcademicYearValidator.Setup(m => m.IsAfterLastAcademicYearFundingPeriod).Returns(true);
            AcademicYearValidator.Setup(m => m.Validate(It.IsAny <DateTime>())).Returns(AcademicYearValidationResult.Success);

            MockDateTime.Setup(m => m.Now).Returns(_now);
        }
        public void ThenInvalidStateExceptionOccursWhenNoViewModelReturned()
        {
            MockDateTime.Setup(m => m.Now).Returns(new DateTime(1998, 1, 1));
            MockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipQueryRequest>()))
            .ReturnsAsync(new GetApprenticeshipQueryResponse
            {
                Apprenticeship =
                    new Apprenticeship
                {
                    PaymentStatus = PaymentStatus.Active,
                    StartDate     = new DateTime(1998, 1, 1)
                }
            });
            MockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipUpdateRequest>()))
            .ReturnsAsync(new GetApprenticeshipUpdateResponse());

            Assert.ThrowsAsync <InvalidStateException>(() => Orchestrator.GetViewChangesViewModel("hashedAccountId", "hashedApprenticeshipId", "UserId"));
        }
Example #4
0
        public async Task IfIsAfterR14CutoffTimeThenDateOfchangeIsStartOfacademicYear()
        {
            _testApprenticeship.StartDate = AcademicYearDateProvider.Object.CurrentAcademicYearStartDate.AddMonths(-6);          // Apprenticeship was started last academic year
            _testApprenticeship.PauseDate = AcademicYearDateProvider.Object.CurrentAcademicYearStartDate.AddMonths(-3);          // Apprenticeship was was paused last academic year

            MockDateTime.Setup(x => x.Now).Returns(AcademicYearDateProvider.Object.LastAcademicYearFundingPeriod.AddMinutes(1)); // resume after r14 cutoff
            OrchestratorResponse <ConfirmationStateChangeViewModel> response = await Orchestrator.GetChangeStatusConfirmationViewModel(
                "ABC123",
                "CDE321",
                ChangeStatusType.Resume,
                WhenToMakeChangeOptions.Immediately,
                null, null,
                "user123");



            response.Data.ChangeStatusViewModel.DateOfChange.DateTime.Should().Be(AcademicYearDateProvider.Object.CurrentAcademicYearStartDate);
        }
Example #5
0
        public async Task ShouldSetStatusTextForApprenticeshipNotStarted(int nowMonth, int nowDay, int startMonth)
        {
            MockDateTime.Setup(m => m.Now).Returns(new DateTime(1998, nowMonth, nowDay));
            MockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipQueryRequest>()))
            .ReturnsAsync(new GetApprenticeshipQueryResponse
            {
                Apprenticeship =
                    new Apprenticeship
                {
                    PaymentStatus = PaymentStatus.Active,
                    StartDate     = new DateTime(1998, startMonth, 1)
                }
            });
            MockMediator.Setup(m => m.SendAsync(It.IsAny <GetApprenticeshipUpdateRequest>()))
            .ReturnsAsync(new GetApprenticeshipUpdateResponse());

            var result = await Orchestrator.GetApprenticeship("hashedAccountId", "hashedApprenticeshipId", "UserId");

            MockMediator.Verify(m => m.SendAsync(It.IsAny <GetApprenticeshipQueryRequest>()), Times.Once);

            result.Data.Status.Should().Be("Waiting to start");
        }
Example #6
0
 protected void SetLocalDateTime(DateTime now) =>
 MockDateTime
 .Setup(m => m.Now)
 .Returns(now);
Example #7
0
 protected void SetUtcDateTime(DateTime now) =>
 MockDateTime
 .Setup(m => m.UtcNow)
 .Returns(now);