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>(); }
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 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 })); }
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); }
public void SetUpGetTrainingProgramme(EditApprenticeshipRequestViewModel viewModel, GetTrainingProgrammeResponse response) { _mockCommitmentsApiClient.Setup(c => c.GetTrainingProgramme(viewModel.CourseCode, It.IsAny <CancellationToken>())) .ReturnsAsync(response); }
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); }
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); }