Exemple #1
0
        public void Arrange()
        {
            _autoFixture = new Fixture();
            _fixture     = new WhenPostingEditApprenticeshipDetailsFixture();

            _apprenticeshipResponse = _autoFixture.Build <GetApprenticeshipResponse>()
                                      .With(x => x.CourseCode, _autoFixture.Create <int>().ToString())
                                      .Create();

            _standardVersionResponse = _autoFixture.Build <GetTrainingProgrammeResponse>()
                                       .With(x => x.TrainingProgramme, _autoFixture.Build <TrainingProgramme>()
                                             .With(x => x.Version, "1.0")
                                             .With(x => x.Options, new List <string>())
                                             .Create())
                                       .Create();

            _frameworkResponse = _autoFixture.Create <GetTrainingProgrammeResponse>();
            _frameworkResponse.TrainingProgramme.Version = null;

            _viewModel = _autoFixture.Build <EditApprenticeshipRequestViewModel>()
                         .Without(x => x.StartDate)
                         .Without(x => x.EndDate)
                         .Without(x => x.DateOfBirth)
                         .With(x => x.CourseCode, _apprenticeshipResponse.CourseCode)
                         .Create();

            _viewModel.StartDate = new MonthYearModel(_apprenticeshipResponse.StartDate.ToString("MMyyyy"));

            _fixture.SetUpGetApprenticeship(_apprenticeshipResponse);
        }
        public void SetUp()
        {
            var fixture = new Fixture();

            fixture.Customize(new DateCustomisation());
            request = fixture.Create <EditApprenticeshipRequestViewModel>();
        }
Exemple #3
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);
        }
Exemple #4
0
        public async Task <IActionResult> EditApprenticeship(EditApprenticeshipRequestViewModel viewModel)
        {
            var validationRequest = await _modelMapper.Map <ValidateApprenticeshipForEditRequest>(viewModel);

            await _commitmentsApiClient.ValidateApprenticeshipForEdit(validationRequest);

            return(RedirectToAction("ConfirmEditApprenticeship", new { viewModel.AccountHashedId, ApprenticeshipHashedId = viewModel.HashedApprenticeshipId }));
        }
        public WhenCallingEditApprenticeshipTestsFixture() : base()
        {
            _request   = _autoFixture.Create <EditApprenticeshipRequest>();
            _viewModel = _autoFixture.Create <EditApprenticeshipRequestViewModel>();


            _mockMapper.Setup(m => m.Map <EditApprenticeshipRequestViewModel>(_request))
            .ReturnsAsync(_viewModel);
        }
        public ConfirmEditApprenticeshipRequestToConfirmEditViewModelMapperTestsFixture()
        {
            var autoFixture = new Fixture();

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

            source = new EditApprenticeshipRequestViewModel();
            source.ApprenticeshipId  = _apprenticeshipResponse.Id;
            source.CourseCode        = _apprenticeshipResponse.CourseCode;
            source.FirstName         = _apprenticeshipResponse.FirstName;
            source.LastName          = _apprenticeshipResponse.LastName;
            source.Email             = _apprenticeshipResponse.Email;
            source.DateOfBirth       = new CommitmentsV2.Shared.Models.DateModel(_apprenticeshipResponse.DateOfBirth);
            source.Cost              = 1000;
            source.EmployerReference = _apprenticeshipResponse.EmployerReference;
            source.StartDate         = new CommitmentsV2.Shared.Models.MonthYearModel(_apprenticeshipResponse.StartDate.Month.ToString() + _apprenticeshipResponse.StartDate.Year);
            source.EndDate           = new CommitmentsV2.Shared.Models.MonthYearModel(_apprenticeshipResponse.EndDate.Month.ToString() + _apprenticeshipResponse.EndDate.Year);

            _priceEpisodeResponse = autoFixture.Build <GetPriceEpisodesResponse>()
                                    .With(x => x.PriceEpisodes, new List <PriceEpisode> {
                new PriceEpisode {
                    Cost = 1000, FromDate = DateTime.Now.AddMonths(-1), 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.GetTrainingProgrammeVersionByCourseCodeAndVersion(source.CourseCode, source.Version, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new GetTrainingProgrammeResponse
            {
                TrainingProgramme = _standardSummary
            });

            _encodingService = new Mock <IEncodingService>();
            _encodingService.Setup(x => x.Decode(It.IsAny <string>(), EncodingType.ApprenticeshipId)).Returns(_apprenticeshipResponse.Id);
            _encodingService.Setup(x => x.Decode(It.IsAny <string>(), EncodingType.AccountId)).Returns(_apprenticeshipResponse.EmployerAccountId);

            _mapper = new ConfirmEditApprenticeshipRequestToConfirmEditViewModelMapper(_mockCommitmentsApiClient.Object, _encodingService.Object);
        }
        public void SetEditApprenticeViewModel(string version)
        {
            var editApprenticeViewModel = new EditApprenticeshipRequestViewModel
            {
                Version = version
            };

            object serializedModel = JsonConvert.SerializeObject(editApprenticeViewModel);

            _tempDataDictionary.Setup(s => s.TryGetValue("EditApprenticeshipRequestViewModel", out serializedModel)).Returns(true);
        }
        public async Task <IActionResult> EditApprenticeship(EditApprenticeshipRequestViewModel viewModel)
        {
            var apprenticeship = await _commitmentsApiClient.GetApprenticeship(viewModel.ApprenticeshipId);

            var triggerCalculate = viewModel.CourseCode != apprenticeship.CourseCode ||
                                   (viewModel.CourseCode == apprenticeship.CourseCode && apprenticeship.StartDate <= viewModel.StartDate.Date.Value);

            if (triggerCalculate)
            {
                TrainingProgramme trainingProgramme;

                if (int.TryParse(viewModel.CourseCode, out var standardId))
                {
                    var standardVersionResponse = await _commitmentsApiClient.GetCalculatedTrainingProgrammeVersion(standardId, viewModel.StartDate.Date.Value);

                    trainingProgramme = standardVersionResponse.TrainingProgramme;
                }
                else
                {
                    var frameworkResponse = await _commitmentsApiClient.GetTrainingProgramme(viewModel.CourseCode);

                    trainingProgramme = frameworkResponse.TrainingProgramme;
                }

                viewModel.Version      = trainingProgramme.Version;
                viewModel.TrainingName = trainingProgramme.Name;
                viewModel.HasOptions   = trainingProgramme.Options.Any();
            }

            var validationRequest = await _modelMapper.Map <ValidateApprenticeshipForEditRequest>(viewModel);

            await _commitmentsApiClient.ValidateApprenticeshipForEdit(validationRequest);

            if (triggerCalculate)
            {
                viewModel.Option = null;
            }

            TempData.Put("EditApprenticeshipRequestViewModel", viewModel);

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

            return(RedirectToAction("ConfirmEditApprenticeship", new { apprenticeshipHashedId = viewModel.ApprenticeshipHashedId, providerId = viewModel.ProviderId }));
        }
Exemple #9
0
        public void Arrange()
        {
            _fixture = new Fixture();

            _request = _fixture.Create <ChangeOptionRequest>();

            var baseDate    = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
            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();

            _getVersionResponse = _fixture.Create <GetTrainingProgrammeResponse>();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient
            .Setup(c => c.GetTrainingProgrammeVersionByCourseCodeAndVersion(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getVersionResponse);
            _mockCommitmentsApiClient
            .Setup(c => c.GetApprenticeship(_request.ApprenticeshipId, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getApprenticeshipResponse);

            _mockTempDataDictionary = new Mock <ITempDataDictionary>();

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

            _mapper = new ChangeOptionViewModelMapper(_mockCommitmentsApiClient.Object,
                                                      Mock.Of <IHttpContextAccessor>(),
                                                      _mockTempDataFactory.Object);
        }
        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 async Task <IActionResult> EditApprenticeship(EditApprenticeshipRequestViewModel viewModel)
 {
     return(await _controller.EditApprenticeship(viewModel));
 }
 public void Arrange()
 {
     _autoFixture = new Fixture();
     _fixture     = new WhenPostingEditApprenticeshipDetailsFixture();
     _viewModel   = new EditApprenticeshipRequestViewModel();
 }
 public void SetUpMockMapper(EditApprenticeshipRequestViewModel editApprenticeshipViewModel)
 {
     _mockMapper.Setup(m => m.Map <EditApprenticeshipRequestViewModel>(It.IsAny <ChangeVersionViewModel>()))
     .ReturnsAsync(editApprenticeshipViewModel);
 }
Exemple #14
0
 public void SetUpGetTrainingProgramme(EditApprenticeshipRequestViewModel viewModel, GetTrainingProgrammeResponse response)
 {
     _mockCommitmentsApiClient.Setup(c => c.GetTrainingProgramme(viewModel.CourseCode, It.IsAny <CancellationToken>()))
     .ReturnsAsync(response);
 }
Exemple #15
0
 public void SetUpGetCalculatedTrainingProgrammeVersion(EditApprenticeshipRequestViewModel viewModel, GetTrainingProgrammeResponse response)
 {
     _mockCommitmentsApiClient.Setup(c => c.GetCalculatedTrainingProgrammeVersion(int.Parse(viewModel.CourseCode), viewModel.StartDate.Date.Value, It.IsAny <CancellationToken>()))
     .ReturnsAsync(response);
 }
Exemple #16
0
        public async Task <EditApprenticeshipRequestViewModel> Map()
        {
            _viewModel = await _mapper.Map(_request);

            return(_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);
        }