Example #1
0
        public async Task <IActionResult> WhatIsTheNewPrice(ChangeOfProviderRequest request)
        {
            var viewModel = await _modelMapper.Map <WhatIsTheNewPriceViewModel>(request);

            if (request.Edit.GetValueOrDefault())
            {
                ViewBag.BackUrl = Url.Link(RouteNames.ConfirmDetailsAndSendRequest, request);
            }
            else
            {
                ViewBag.BackUrl = Url.Link(RouteNames.WhatIsTheNewEndDate,
                                           new
                {
                    request.EmployerWillAdd,
                    request.ProviderId,
                    request.ProviderName,
                    request.NewStartMonth,
                    request.NewStartYear,
                    request.NewEndMonth,
                    request.NewEndYear
                });
            }

            return(View(viewModel));
        }
Example #2
0
        public WhenCallingGetWhoWillEnterTheDetailsTestsFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <WhoWillEnterTheDetailsViewModel>();

            _mockMapper.Setup(m => m.Map <WhoWillEnterTheDetailsViewModel>(_request))
            .ReturnsAsync(_viewModel);
        }
        public WhenRequestingTheWhatIsTheNewStartDatePageTestFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <WhatIsTheNewStartDateViewModel>();

            _mockMapper.Setup(m => m.Map <WhatIsTheNewStartDateViewModel>(_request))
            .ReturnsAsync(_viewModel);
        }
        public WhenCallingGetEnterNewTrainingProviderTestsFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <EnterNewTrainingProviderViewModel>();

            _mockMapper.Setup(m => m.Map <EnterNewTrainingProviderViewModel>(_request))
            .ReturnsAsync(_viewModel);
        }
        public WhenCallingGetWhatIsTheNewPriceTestsFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <WhatIsTheNewPriceViewModel>();

            _mockMapper.Setup(m => m.Map <WhatIsTheNewPriceViewModel>(_request))
            .ReturnsAsync(_viewModel);
        }
Example #6
0
        public void ThenNewPrice_IsValidated(int?newPrice, bool expectedValid)
        {
            var request = new ChangeOfProviderRequest()
            {
                NewPrice = newPrice
            };

            AssertValidationResult(x => x.NewPrice, request, expectedValid);
        }
Example #7
0
        public void ThenAccountHashedIdIsValidated(string accountHashedId, bool expectedValid)
        {
            var request = new ChangeOfProviderRequest()
            {
                AccountHashedId = accountHashedId
            };

            AssertValidationResult(x => x.AccountHashedId, request, expectedValid);
        }
Example #8
0
        public void ThenApprenticeshipHashedIdIsValidated(string apprenticeshipHashedId, bool expectedValid)
        {
            var request = new ChangeOfProviderRequest()
            {
                ApprenticeshipHashedId = apprenticeshipHashedId
            };

            AssertValidationResult(x => x.ApprenticeshipHashedId, request, expectedValid);
        }
Example #9
0
        public WhenPostingCancelChangeOfProviderRequestTestsFixture() : base()
        {
            _request = _autoFixture.Build <ChangeOfProviderRequest>().Create();

            _mockMapper.Setup(m => m.Map <ChangeOfProviderRequest>(It.IsAny <CancelChangeOfProviderRequestViewModel>()))
            .ReturnsAsync(_request);

            _mockLinkGenerator.Setup(g => g.CommitmentsLink(It.IsAny <string>())).Returns(ApprenticeDetailsV1Url);
        }
Example #10
0
        public void ThenNewStartMonth_IsValidated(int?newStartMonth, bool expectedValid)
        {
            var request = new ChangeOfProviderRequest()
            {
                NewStartMonth = newStartMonth
            };

            AssertValidationResult(x => x.NewStartMonth, request, expectedValid);
        }
Example #11
0
        public void ThenNewEndYear_IsValidated(int?newEndYear, bool expectedValid)
        {
            var request = new ChangeOfProviderRequest()
            {
                NewEndYear = newEndYear
            };

            AssertValidationResult(x => x.NewEndYear, request, expectedValid);
        }
        public WhenRequestingConfirmAndSendRequestPageTestsFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <ConfirmDetailsAndSendViewModel>();


            _mockMapper.Setup(m => m.Map <ConfirmDetailsAndSendViewModel>(_request))
            .ReturnsAsync(_viewModel);
        }
Example #13
0
        public void ThenProviderIsValidated(long providerId, bool expectedValid)
        {
            var request = new ChangeOfProviderRequest()
            {
                ProviderId = providerId
            };

            AssertValidationResult(x => x.ProviderId, request, expectedValid);
        }
        public void Arrange()
        {
            var autoFixture = new Fixture();

            _request = autoFixture.Create <ChangeOfProviderRequest>();
            _apprenticeshipResponse = autoFixture.Create <GetApprenticeshipResponse>();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient.Setup(m => m.GetApprenticeship(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_apprenticeshipResponse);

            _mapper = new CancelChangeOfProviderRequestViewModelMapper(_mockCommitmentsApiClient.Object);
        }
Example #15
0
        public async Task <IActionResult> EnterNewTrainingProvider(ChangeOfProviderRequest request)
        {
            var viewModel = await _modelMapper.Map <EnterNewTrainingProviderViewModel>(request);

            if (request.Edit.GetValueOrDefault())
            {
                ViewBag.BackUrl = Url.Link(RouteNames.ConfirmDetailsAndSendRequest, request);
            }
            else
            {
                ViewBag.BackUrl = Url.Link(RouteNames.ChangeProviderInform, request);
            }

            return(View(viewModel));
        }
Example #16
0
        public WhenPostingWhatIsTheNewStartDateTestFixture SetupReturnToCheckYourAnswers()
        {
            _request = _autoFixture.Build <ChangeOfProviderRequest>()
                       .With(x => x.NewStartMonth, 1)
                       .With(x => x.NewStartYear, 2020)
                       .With(x => x.NewEndMonth, 1)
                       .With(x => x.NewEndYear, 2022)
                       .With(x => x.NewPrice, 500)
                       .Create();

            _mockMapper.Setup(m => m.Map <ChangeOfProviderRequest>(It.IsAny <WhatIsTheNewStartDateViewModel>()))
            .ReturnsAsync(_request);

            return(this);
        }
        public void Arrange()
        {
            var autoFixture = new Fixture();

            _request = autoFixture.Build <ChangeOfProviderRequest>()
                       .With(x => x.NewStartMonth, 1)
                       .With(x => x.NewStartYear, 2020)
                       .With(x => x.NewEndMonth, 2)
                       .With(x => x.NewEndYear, 2022)
                       .With(x => x.NewPrice, 1500)
                       .Create();

            _apprenticeshipResponse = autoFixture.Build <GetApprenticeshipResponse>()
                                      .With(x => x.CourseCode, "ABC")
                                      .With(x => x.StartDate, new DateTime(2020, 1, 1))
                                      .With(x => x.StartDate, new DateTime(2021, 1, 1))
                                      .Create();

            _priceEpisodeResponse = autoFixture.Build <GetPriceEpisodesResponse>()
                                    .With(x => x.PriceEpisodes, new List <PriceEpisode> {
                new PriceEpisode {
                    Cost = 1000, ToDate = DateTime.Now.AddMonths(-1)
                },
                new PriceEpisode {
                    Cost = 2000, ToDate = null
                }
            })
                                    .Create();

            _standardSummary = autoFixture.Create <TrainingProgramme>();
            _standardSummary.EffectiveFrom  = new DateTime(2018, 1, 1);
            _standardSummary.EffectiveTo    = new DateTime(2022, 1, 1);
            _standardSummary.FundingPeriods = SetPriceBand(1000);

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeship(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_apprenticeshipResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetPriceEpisodes(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_priceEpisodeResponse);
            _mockCommitmentsApiClient.Setup(t => t.GetTrainingProgramme(_apprenticeshipResponse.CourseCode, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new GetTrainingProgrammeResponse
            {
                TrainingProgramme = _standardSummary
            });

            _mapper = new ConfirmDetailsAndSendViewModelMapper(_mockCommitmentsApiClient.Object);
        }
Example #18
0
        public WhenPostingWhatIsTheNewStartDateTestFixture SetupAdvanceToStopDate()
        {
            _request = _autoFixture.Build <ChangeOfProviderRequest>()
                       .With(x => x.NewStartMonth, 1)
                       .With(x => x.NewStartYear, 2020)
                       .Create();

            _request.NewEndMonth = null;
            _request.NewEndYear  = null;
            _request.NewPrice    = null;

            _mockMapper.Setup(m => m.Map <ChangeOfProviderRequest>(It.IsAny <WhatIsTheNewStartDateViewModel>()))
            .ReturnsAsync(_request);

            return(this);
        }
        public WhenRequestingTheWhatIsTheNewStartDatePageTestFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <WhatIsTheNewStartDateViewModel>();

            _mockMapper.Setup(m => m.Map <WhatIsTheNewStartDateViewModel>(_request))
            .ReturnsAsync(_viewModel);

            _mockUrlHelper
            .Setup(mock => mock.Link(RouteNames.ConfirmDetailsAndSendRequest, It.IsAny <object>()))
            .Returns(ConfirmDetailsLink)
            .Callback(() => ExpectedBackLinkSet = ConfirmDetailsLink);

            _mockUrlHelper
            .Setup(mock => mock.Link(RouteNames.WhoWillEnterTheDetails, It.IsAny <object>()))
            .Returns(PreviousQuestionLink)
            .Callback(() => ExpectedBackLinkSet = PreviousQuestionLink);
        }
        public void Arrange()
        {
            var _autoFixture = new Fixture();

            _request = _autoFixture.Build <ChangeOfProviderRequest>()
                       .With(x => x.NewStartMonth, 1)
                       .With(x => x.NewStartYear, 2020)
                       .With(x => x.NewEndMonth, 1)
                       .With(x => x.NewEndYear, 2022)
                       .Create();
            _apprenticeshipResponse = _autoFixture.Create <GetApprenticeshipResponse>();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient.Setup(m => m.GetApprenticeship(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_apprenticeshipResponse);

            _mapper = new WhatIsTheNewStartDateViewModelMapper(_mockCommitmentsApiClient.Object);
        }
Example #21
0
        public WhenCallingGetEnterNewTrainingProviderTestsFixture() : base()
        {
            _request   = _autoFixture.Create <ChangeOfProviderRequest>();
            _viewModel = _autoFixture.Create <EnterNewTrainingProviderViewModel>();

            _mockMapper
            .Setup(m => m.Map <EnterNewTrainingProviderViewModel>(_request))
            .ReturnsAsync(_viewModel);

            _mockUrlHelper
            .Setup(mock => mock.Link(RouteNames.ConfirmDetailsAndSendRequest, It.IsAny <object>()))
            .Returns(ConfirmDetailsLink)
            .Callback(() => ExpectedBackLinkSet = ConfirmDetailsLink);

            _mockUrlHelper
            .Setup(mock => mock.Link(RouteNames.ChangeProviderInform, It.IsAny <object>()))
            .Returns(PreviousQuestionLink)
            .Callback(() => ExpectedBackLinkSet = PreviousQuestionLink);
        }
        public void Arrange()
        {
            var _autoFixture = new Fixture();

            var test = DateTime.UtcNow.Year;

            _request = _autoFixture.Create <ChangeOfProviderRequest>();
            _request.NewStartYear   = DateTime.UtcNow.Year;
            _request.NewStartMonth  = DateTime.UtcNow.Month;
            _request.NewEndYear     = DateTime.UtcNow.AddYears(1).Year;
            _request.NewEndMonth    = DateTime.UtcNow.AddYears(1).Month;
            _apprenticeshipResponse = _autoFixture.Create <GetApprenticeshipResponse>();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient.Setup(m => m.GetApprenticeship(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_apprenticeshipResponse);

            _mapper = new WhatIsTheNewPriceViewModelMapper(_mockCommitmentsApiClient.Object);
        }
        public async Task ApprenticeshipHashedId_IsMapped(ChangeOfProviderRequest request)
        {
            var result = await _mapper.Map(request);

            Assert.AreEqual(request.ApprenticeshipHashedId, result.ApprenticeshipHashedId);
        }
Example #24
0
 public WhenPostingCancelChangeOfProviderRequestTestsFixture() : base()
 {
     _request = _autoFixture.Build <ChangeOfProviderRequest>().Create();
     _mockMapper.Setup(m => m.Map <ChangeOfProviderRequest>(It.IsAny <CancelChangeOfProviderRequestViewModel>())).ReturnsAsync(_request);
 }
        public async Task WhenRequestingEnterNewTrainingProvider_ThenListOfTrainingProvidersIsMapped(ChangeOfProviderRequest request)
        {
            var result = await _mapper.Map(request);

            Assert.AreEqual(3, result.Providers.Count);
        }
        public async Task NewProviderId_IsMapped(ChangeOfProviderRequest request)
        {
            var result = await _mapper.Map(request);

            Assert.AreEqual(request.ProviderId, result.ProviderId);
        }
        public async Task WhenRequestingEnterNewTrainingProvider_ThenListOfGetAllProvidersCalled(ChangeOfProviderRequest request)
        {
            var result = await _mapper.Map(request);

            _mockCommitmentsApiClient.Verify(m => m.GetAllProviders(It.IsAny <CancellationToken>()), Times.Once());
        }
Example #28
0
        public async Task <IActionResult> CancelChangeOfProviderRequest(ChangeOfProviderRequest request)
        {
            var viewModel = await _modelMapper.Map <CancelChangeOfProviderRequestViewModel>(request);

            return(View(viewModel));
        }
        public async Task WhenRequestingEnterNewTrainingProvider_ThenCurrentProviderIsMapped(ChangeOfProviderRequest request)
        {
            var result = await _mapper.Map(request);

            _mockCommitmentsApiClient.Verify(c => c.GetApprenticeship(It.Is <long>(id => id == request.ApprenticeshipId), It.IsAny <CancellationToken>()), Times.Once);
            Assert.AreEqual(_apprenticeshipResponse.ProviderId, result.CurrentProviderId);
        }
Example #30
0
        private void AssertValidationResult <T>(Expression <Func <ChangeOfProviderRequest, T> > property, ChangeOfProviderRequest instance, bool expectedValid)
        {
            var validator = new ChangeOfProviderRequestValidator();

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