예제 #1
0
        public WhenCallingChangeOptionTestsFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOptionRequest>();
            _viewModel = _autoFixture.Create <ChangeOptionViewModel>();

            _mockMapper.Setup(m => m.Map <ChangeOptionViewModel>(It.IsAny <ChangeOptionRequest>()))
            .ReturnsAsync(_viewModel);
        }
예제 #2
0
        public void When_OptionSelected_Then_ReturnValid(
            ChangeOptionViewModel viewModel,
            ChangeOptionViewModelValidator validator)
        {
            var result = validator.Validate(viewModel);

            Assert.True(result.IsValid);
        }
        public void When_SelectedOptionIsNull_Then_ReturnInvalid(
            ChangeOptionViewModel viewModel,
            ChangeOptionViewModelValidator validator)
        {
            viewModel.SelectedOption = null;

            var result = validator.Validate(viewModel);

            Assert.False(result.IsValid);
        }
        public GetChangeOptionFixture()
        {
            var fixture = new Fixture();

            _request   = fixture.Create <ChangeOptionRequest>();
            _viewModel = fixture.Create <ChangeOptionViewModel>();

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

            Controller = new ApprenticeController(_modelMapperMock.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());
        }
        public void When_OnlyChangingOption_And_CurrentOptionIsSelected_Then_ReturnInvalid(
            ChangeOptionViewModel viewModel,
            ChangeOptionViewModelValidator validator)
        {
            viewModel.ReturnToEdit          = false;
            viewModel.ReturnToChangeVersion = false;
            viewModel.SelectedOption        = viewModel.CurrentOption;

            var result = validator.Validate(viewModel);

            Assert.False(result.IsValid);
        }
예제 #6
0
        public void Arrange()
        {
            var fixture = new Fixture();

            _viewModel = fixture.Create <ChangeOptionViewModel>();

            _mockModelMapper = new Mock <IModelMapper>();

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

            _controller.TempData = new TempDataDictionary(new Mock <HttpContext>().Object, new Mock <ITempDataProvider>().Object);
        }
 public async Task <IActionResult> ChangeOption(ChangeOptionViewModel viewModel)
 {
     return(await _controller.ChangeOption(viewModel));
 }
        public void Arrange()
        {
            _fixture = new Fixture();

            _viewModel = _fixture.Create <ChangeOptionViewModel>();

            var baseDate = DateTime.Now;

            var startDate   = baseDate;
            var endDate     = baseDate.AddYears(2);
            var dateOfBirth = baseDate.AddYears(-18);

            _getApprenticeshipResponse = _fixture.Build <GetApprenticeshipResponse>()
                                         .With(x => x.StartDate, startDate)
                                         .With(x => x.EndDate, endDate)
                                         .With(x => x.DateOfBirth, dateOfBirth)
                                         .Create();

            _editViewModel = _fixture.Build <EditApprenticeshipRequestViewModel>()
                             .With(x => x.CourseCode, _getApprenticeshipResponse.CourseCode)
                             .With(x => x.Version, _getApprenticeshipResponse.Version)
                             .With(x => x.StartDate, new MonthYearModel(startDate.ToString("MMyyyy")))
                             .With(x => x.EndDate, new MonthYearModel(endDate.ToString("MMyyyy")))
                             .With(x => x.DateOfBirth, new MonthYearModel(dateOfBirth.ToString("MMyyyy")))
                             .Create();

            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, _getApprenticeshipResponse.Version, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getVersionResponse);

            _mockTempDataDictionary = new Mock <ITempDataDictionary>();

            _mockTempDataFactory = new Mock <ITempDataDictionaryFactory>();
            _mockTempDataFactory.Setup(f => f.GetTempData(It.IsAny <HttpContext>()))
            .Returns(_mockTempDataDictionary.Object);

            _mapper = new ChangeOptionViewModelToEditApprenticeshipRequestViewModelMapper(
                _mockCommitmentsApiClient.Object,
                Mock.Of <IHttpContextAccessor>(),
                _mockTempDataFactory.Object);
        }