示例#1
0
        public void Arrange()
        {
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockModelMapper          = new Mock <IModelMapper>();

            var autoFixture = new Fixture();

            _viewModel = autoFixture.Create <ChangeVersionViewModel>();

            var baseDate    = DateTime.Now;
            var startDate   = new MonthYearModel(baseDate.ToString("MMyyyy"));
            var endDate     = new MonthYearModel(baseDate.AddYears(2).ToString("MMyyyy"));
            var dateOfBirth = new MonthYearModel(baseDate.AddYears(-18).ToString("MMyyyy"));

            _editRequestViewModel = autoFixture.Build <EditApprenticeshipRequestViewModel>()
                                    .With(x => x.StartDate, startDate)
                                    .With(x => x.EndDate, endDate)
                                    .With(x => x.DateOfBirth, dateOfBirth)
                                    .Create();

            _mockModelMapper.Setup(m => m.Map <EditApprenticeshipRequestViewModel>(It.IsAny <ChangeVersionViewModel>()))
            .ReturnsAsync(_editRequestViewModel);

            _controller = new ApprenticeController(_mockModelMapper.Object,
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _mockCommitmentsApiClient.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >());

            _controller.TempData = new TempDataDictionary(new Mock <HttpContext>().Object, new Mock <ITempDataProvider>().Object);
        }
        public WhenCallingChangeVersionTestsFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeVersionRequest>();
            _viewModel = _autoFixture.Create <ChangeVersionViewModel>();

            _mockMapper.Setup(m => m.Map <ChangeVersionViewModel>(_request))
            .ReturnsAsync(_viewModel);
        }
        public void ValidateSelectedVersion(string version, bool expectedValid)
        {
            var viewModel = new ChangeVersionViewModel {
                SelectedVersion = version
            };

            AssertValidationResult(x => x.SelectedVersion, viewModel, expectedValid);
        }
示例#4
0
        public void When_SelectedVersionIsNull_Then_ReturnInvalid(
            ChangeVersionViewModel viewModel,
            ChangeVersionViewModelValidator validator)
        {
            viewModel.SelectedVersion = null;

            var result = validator.Validate(viewModel);

            Assert.False(result.IsValid);
        }
        public async Task <IActionResult> ChangeVersion(ChangeVersionViewModel viewModel)
        {
            var editApprenticeshipRequestViewModel = await _modelMapper.Map <EditApprenticeshipRequestViewModel>(viewModel);

            TempData.Put("EditApprenticeshipRequestViewModel", editApprenticeshipRequestViewModel);

            if (editApprenticeshipRequestViewModel.HasOptions)
            {
                return(RedirectToAction("ChangeOption", new { apprenticeshipHashedId = viewModel.ApprenticeshipHashedId, providerId = viewModel.ProviderId }));
            }

            return(RedirectToAction("ConfirmEditApprenticeship", new { apprenticeshipHashedId = viewModel.ApprenticeshipHashedId, providerId = viewModel.ProviderId }));
        }
        public GetChangeVersionFixture()
        {
            var fixture = new Fixture();

            _request   = fixture.Create <ChangeVersionRequest>();
            _viewModel = fixture.Create <ChangeVersionViewModel>();

            _modelMapperMock = new Mock <IModelMapper>();
            _modelMapperMock.Setup(m => m.Map <ChangeVersionViewModel>(_request)).ReturnsAsync(_viewModel);

            Controller          = new ApprenticeController(_modelMapperMock.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());
            Controller.TempData = new TempDataDictionary(Mock.Of <HttpContext>(), Mock.Of <ITempDataProvider>());
        }
        public void Arrange()
        {
            var autoFixture = new Fixture();

            _viewModel = autoFixture.Create <ChangeVersionViewModel>();

            var baseDate    = DateTime.Now;
            var startDate   = new MonthYearModel(baseDate.ToString("MMyyyy"));
            var endDate     = new MonthYearModel(baseDate.AddYears(2).ToString("MMyyyy"));
            var dateOfBirth = new MonthYearModel(baseDate.AddYears(-18).ToString("MMyyyy"));

            _editRequestViewModel = autoFixture.Build <EditApprenticeshipRequestViewModel>()
                                    .With(x => x.StartDate, startDate)
                                    .With(x => x.EndDate, endDate)
                                    .With(x => x.DateOfBirth, dateOfBirth)
                                    .Create();

            _fixture = new WhenPostingChangeVersionFixture();

            _fixture.SetUpMockMapper(_editRequestViewModel);
        }
        public void Arrange()
        {
            _fixture = new Fixture();

            _viewModel = _fixture.Create <ChangeVersionViewModel>();
            _getApprenticeshipResponse = _fixture.Create <GetApprenticeshipResponse>();

            var priceEpisode = _fixture.Build <PriceEpisode>()
                               .With(x => x.ApprenticeshipId, _getApprenticeshipResponse.Id)
                               .With(x => x.FromDate, _getApprenticeshipResponse.StartDate.AddDays(-1))
                               .Without(x => x.ToDate)
                               .Create();

            _getPriceEpisodesResponse = _fixture.Build <GetPriceEpisodesResponse>()
                                        .With(x => x.PriceEpisodes, new List <PriceEpisode> {
                priceEpisode
            })
                                        .Create();

            var trainingProgramme = _fixture.Build <TrainingProgramme>().With(x => x.Name, _getApprenticeshipResponse.CourseName).Create();

            _getVersionResponse = new GetTrainingProgrammeResponse {
                TrainingProgramme = trainingProgramme
            };

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeship(_viewModel.ApprenticeshipId, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getApprenticeshipResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetPriceEpisodes(_viewModel.ApprenticeshipId, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getPriceEpisodesResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetTrainingProgrammeVersionByCourseCodeAndVersion(_getApprenticeshipResponse.CourseCode, _viewModel.SelectedVersion, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getVersionResponse);

            _mapper = new ChangeVersionViewModelToEditApprenticehipRequestViewModelMapper(_mockCommitmentsApiClient.Object);
        }
 public async Task <IActionResult> ChangeVersion(ChangeVersionViewModel viewModel)
 {
     return(await _controller.ChangeVersion(viewModel));
 }
        private void AssertValidationResult <T>(Expression <Func <ChangeVersionViewModel, T> > property, ChangeVersionViewModel instance, bool expectedValid)
        {
            var validator = new ChangeVersionViewModelValidator();

            if (expectedValid)
            {
                validator.ShouldNotHaveValidationErrorFor(property, instance);
            }
            else
            {
                validator.ShouldHaveValidationErrorFor(property, instance);
            }
        }