public void OfApprovedApprenticeshipThenIsEndDateLockedForUpdateShouldBeSetCorrectly(bool expected, bool unchanged, bool dataLockSuccess, bool isStartDateInFuture, bool isAfterLastAcademicYearFundingPeriod, AcademicYearValidationResult academicYearValidationResult) { AcademicYearValidator.Setup(m => m.IsAfterLastAcademicYearFundingPeriod).Returns(isAfterLastAcademicYearFundingPeriod); AcademicYearValidator.Setup(m => m.Validate(It.IsAny <DateTime>())).Returns(academicYearValidationResult); var apprenticeship = new Apprenticeship { PaymentStatus = PaymentStatus.Active, HasHadDataLockSuccess = dataLockSuccess, StartDate = _now.AddMonths(isStartDateInFuture ? 1 : -1) }; var commitment = new CommitmentView { AgreementStatus = AgreementStatus.BothAgreed }; var viewModel = Sut.MapToApprenticeshipViewModel(apprenticeship, commitment); Assert.AreEqual(expected, viewModel.IsEndDateLockedForUpdate); if (unchanged) { Assert.AreEqual(viewModel.IsLockedForUpdate, viewModel.IsEndDateLockedForUpdate); } }
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 ShouldHaveLockedStatusIfPastCutOffDate() { AcademicYearValidator.Setup(m => m.IsAfterLastAcademicYearFundingPeriod).Returns(true); AcademicYearValidator.Setup(m => m.Validate(It.IsAny <DateTime>())).Returns(AcademicYearValidationResult.NotWithinFundingPeriod); var apprenticeship = new Apprenticeship { StartDate = _now.AddMonths(-5), HasHadDataLockSuccess = false, PaymentStatus = PaymentStatus.Active }; var viewModel = Sut.MapToApprenticeshipViewModel(apprenticeship, new CommitmentView()); viewModel.IsLockedForUpdate.Should().BeTrue(); viewModel.IsEndDateLockedForUpdate.Should().BeTrue(); viewModel.HasStarted.Should().BeTrue(); }
public void Setup() { MockAcademicYearValidator = new Mock <IAcademicYearValidator>(); MockMediator = new Mock <IMediator>(); MockDateTime = new Mock <ICurrentDateTime>(); MockDateTime.Setup(x => x.Now).Returns(DateTime.UtcNow); MockLinkGenerator = new Mock <ILinkGenerator>(); MockLinkGenerator .Setup(x => x.FinanceLink($"accounts/{HashedAccountId}/finance/{MockDateTime.Object.Now.Year}/{MockDateTime.Object.Now.Month}")) .Returns("testLink"); AcademicYearDateProvider = new Mock <IAcademicYearDateProvider>(); AcademicYearDateProvider.Setup(x => x.CurrentAcademicYearStartDate).Returns(new DateTime(2017, 8, 1)); AcademicYearDateProvider.Setup(x => x.CurrentAcademicYearEndDate).Returns(new DateTime(2018, 7, 31)); AcademicYearDateProvider.Setup(x => x.LastAcademicYearFundingPeriod).Returns(new DateTime(2017, 10, 19, 18, 0, 0)); MockChangeOfProviderToggle = new Mock <IFeatureToggle>(); MockChangeOfProviderToggle.Setup(c => c.FeatureEnabled).Returns(true); MockFeatureToggleService = new Mock <IFeatureToggleService>(); MockFeatureToggleService.Setup(f => f.Get <ChangeOfProvider>()).Returns(MockChangeOfProviderToggle.Object); ApprenticeshipMapper = new ApprenticeshipMapper(Mock.Of <IHashingService>(), MockDateTime.Object, MockMediator.Object, Mock.Of <ILog>(), Mock.Of <IAcademicYearValidator>(), Mock.Of <IAcademicYearDateProvider>(), MockLinkGenerator.Object, MockFeatureToggleService.Object); MockHashingService = new Mock <IHashingService>(); MockHashingService.Setup(x => x.DecodeValue("ABC123")).Returns(123L); MockHashingService.Setup(x => x.DecodeValue("ABC321")).Returns(321L); MockHashingService.Setup(x => x.DecodeValue("ABC456")).Returns(456L); MockMediator.Setup(x => x.SendAsync(It.IsAny <GetUserAccountRoleQuery>())) .ReturnsAsync(new GetUserAccountRoleResponse { User = new TeamMember() { AccountId = AccountId, HashedAccountId = HashedAccountId, Email = Email, Name = Name } }); var academicYearProvider = new AcademicYearDateProvider(MockDateTime.Object); Validator = new ApprovedApprenticeshipViewModelValidator( new WebApprenticeshipValidationText(academicYearProvider), academicYearProvider, new AcademicYearValidator(MockDateTime.Object, academicYearProvider), MockDateTime.Object, Mock.Of <IMediator>()); AcademicYearValidator = new AcademicYearValidator(MockDateTime.Object, academicYearProvider); Orchestrator = new EmployerManageApprenticeshipsOrchestrator( MockMediator.Object, MockHashingService.Object, ApprenticeshipMapper, Validator, MockDateTime.Object, new Mock <ILog>().Object, new Mock <ICookieStorageService <UpdateApprenticeshipViewModel> >().Object, AcademicYearDateProvider.Object, AcademicYearValidator, MockLinkGenerator.Object); }