public void BaseSetup()
        {
            MockMediator = new Mock <IMediator>();
            MockMediator.Setup(x => x.SendAsync(It.IsAny <GetTrainingProgrammesQueryRequest>()))
            .ReturnsAsync(new GetTrainingProgrammesQueryResponse
            {
                TrainingProgrammes = new List <TrainingProgramme>
                {
                    new TrainingProgramme
                    {
                        CourseCode    = "TESTCOURSE",
                        EffectiveFrom = new DateTime(2018, 5, 1),
                        EffectiveTo   = new DateTime(2018, 7, 1)
                    }
                }
            });

            YearNow = DateTime.Now.Year;
            CurrentDateTime.Setup(x => x.Now).Returns(DateTime.Now.AddMonths(6));
            var academicYearProvider = new AcademicYearDateProvider(CurrentDateTime.Object);

            Validator = new ApprenticeshipViewModelValidator(
                new WebApprenticeshipValidationText(academicYearProvider),
                academicYearProvider,
                new AcademicYearValidator(CurrentDateTime.Object, academicYearProvider),
                CurrentDateTime.Object,
                MockMediator.Object);

            ValidModel = new ApprenticeshipViewModel
            {
                ULN       = "1001234567",
                FirstName = "TestFirstName",
                LastName  = "TestLastName"
            };
        }
Exemplo n.º 2
0
        public void AcademicYearStartDateIsCorrectlyCalculated(DateTime currentDate, DateTime expectedResult)
        {
            var academicYearDateProvider = new AcademicYearDateProvider(new CurrentDateTime(currentDate));
            var result = academicYearDateProvider.CurrentAcademicYearStartDate;

            Assert.AreEqual(expectedResult, result);
        }
Exemplo n.º 3
0
        public void ThenIfR14HasNotPassedThenThereIsNoAcademicYearRestriction()
        {
            //Arrange
            MockDateTime = new Mock <ICurrentDateTime>();
            MockDateTime.Setup(x => x.Now).Returns(new DateTime(2017, 8, 15));

            var apprenticeship = new Apprenticeship
            {
                StartDate = new DateTime(2018, 6, 1),
                StopDate  = new DateTime(2018, 2, 1)
            };

            var academicYearStartDate = new DateTime(2017, 8, 1);

            AcademicYearDateProvider.Setup(x => x.CurrentAcademicYearStartDate).Returns(academicYearStartDate);

            Sut = new ApprenticeshipMapper(Mock.Of <IHashingService>(), MockDateTime.Object, MockMediator.Object,
                                           Mock.Of <ILog>(), AcademicYearValidator.Object, AcademicYearDateProvider.Object, MockLinkGenerator.Object, MockFeatureToggleService.Object);

            //Act
            var result = Sut.MapToEditApprenticeshipStopDateViewModel(apprenticeship);

            //Assert
            Assert.IsNull(result.AcademicYearRestriction);
        }
        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);
        }