public async Task ThenIsContinuationIsMappedCorrectly(bool isContinuation) { _draftApprenticeshipResponse.IsContinuation = isContinuation; _result = await _mapper.Map(_source) as EditDraftApprenticeshipViewModel; Assert.AreEqual(_draftApprenticeshipResponse.IsContinuation, _result.IsContinuation); }
public void Arrange() { var fixture = new Fixture(); var birthDate = fixture.Create <DateTime?>(); var startDate = fixture.Create <DateTime?>(); var endDate = fixture.Create <DateTime?>(); _getDraftApprenticeshipResponse = fixture.Create <GetDraftApprenticeshipResponse>(); _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>(); _mapper = new UpdateDraftApprenticeshipRequestMapper(_mockCommitmentsApiClient.Object); _source = fixture.Build <EditDraftApprenticeshipViewModel>() .With(x => x.CourseCode, fixture.Create <int>().ToString()) .With(x => x.BirthDay, birthDate?.Day) .With(x => x.BirthMonth, birthDate?.Month) .With(x => x.BirthYear, birthDate?.Year) .With(x => x.EndMonth, endDate?.Month) .With(x => x.EndYear, endDate?.Year) .With(x => x.StartMonth, startDate?.Month) .With(x => x.StartYear, startDate?.Year) .Without(x => x.StartDate) .Without(x => x.Courses) .Create(); _mockCommitmentsApiClient.Setup(x => x.GetDraftApprenticeship(_source.CohortId.Value, _source.DraftApprenticeshipId, It.IsAny <CancellationToken>())) .ReturnsAsync(_getDraftApprenticeshipResponse); _act = async() => await _mapper.Map(TestHelper.Clone(_source)); }
public async Task <IActionResult> EditDraftApprenticeship(EditDraftApprenticeshipViewModel model) { var updateRequest = await _modelMapper.Map <UpdateDraftApprenticeshipRequest>(model); await _commitmentsApiClient.UpdateDraftApprenticeship(model.CohortId.Value, model.DraftApprenticeshipId, updateRequest); return(RedirectToAction("Details", "Cohort", new { model.AccountHashedId, model.CohortReference })); }
public void Validate_FinishDate_ShouldBeValidated(int?month, int?year, bool expectedValid) { var model = new EditDraftApprenticeshipViewModel { EndMonth = month, EndYear = year }; AssertValidationResult(request => request.EndDate, model, expectedValid); }
public void Validate_DoB_ShouldBeValidated(int?day, int?month, int?year, bool expectedValid) { var model = new EditDraftApprenticeshipViewModel { BirthDay = day, BirthMonth = month, BirthYear = year }; AssertValidationResult(request => request.DateOfBirth, model, expectedValid); }
public async Task CoursesAreMappedCorrectlyWhenCohortIsChangeOfParty() { _cohort.LevyStatus = ApprenticeshipEmployerType.NonLevy; _draftApprenticeshipResponse.IsContinuation = true; _result = await _mapper.Map(_source) as EditDraftApprenticeshipViewModel; Assert.AreEqual(_allTrainingProgrammes, _result.Courses); }
public async Task CoursesAreMappedCorrectlyWhenAccountIsNonLevy(long?transferSenderId) { _cohort.LevyStatus = ApprenticeshipEmployerType.NonLevy; _cohort.TransferSenderId = transferSenderId; _result = await _mapper.Map(_source) as EditDraftApprenticeshipViewModel; Assert.AreEqual(_standardTrainingProgrammes, _result.Courses); }
public async Task <IActionResult> EditDraftApprenticeship(EditDraftApprenticeshipViewModel model) { var updateRequest = await _modelMapper.Map <UpdateDraftApprenticeshipRequest>(model); await _commitmentsApiClient.UpdateDraftApprenticeship(model.CohortId.Value, model.DraftApprenticeshipId.Value, updateRequest); var cohortDetailsUrl = $"{model.ProviderId}/apprentices/{model.CohortReference}/Details"; var url = _urlHelper.ProviderApprenticeshipServiceLink(cohortDetailsUrl); return(Redirect(url)); }
public async Task Arrange() { var autoFixture = new Fixture(); _allTrainingProgrammes = autoFixture.CreateMany <TrainingProgramme>().ToList(); _standardTrainingProgrammes = autoFixture.CreateMany <TrainingProgramme>().ToList(); _encodedApprenticeshipId = autoFixture.Create <string>(); _cohortReference = autoFixture.Create <string>(); _encodingService = new Mock <IEncodingService>(); _encodingService .Setup(x => x.Encode(It.IsAny <long>(), It.Is <EncodingType>(e => e == EncodingType.ApprenticeshipId))) .Returns(_encodedApprenticeshipId); _encodingService .Setup(x => x.Encode(It.IsAny <long>(), It.Is <EncodingType>(e => e == EncodingType.CohortReference))) .Returns(_cohortReference); _draftApprenticeshipResponse = autoFixture.Create <GetDraftApprenticeshipResponse>(); _draftApprenticeshipResponse.IsContinuation = false; _commitmentsApiClient = new Mock <ICommitmentsApiClient>(); _commitmentsApiClient.Setup(x => x.GetDraftApprenticeship(It.IsAny <long>(), It.IsAny <long>(), It.IsAny <CancellationToken>())) .ReturnsAsync(_draftApprenticeshipResponse); _commitmentsApiClient .Setup(x => x.GetAllTrainingProgrammeStandards(It.IsAny <CancellationToken>())) .ReturnsAsync(new GetAllTrainingProgrammeStandardsResponse { TrainingProgrammes = _standardTrainingProgrammes }); _commitmentsApiClient .Setup(x => x.GetAllTrainingProgrammes(It.IsAny <CancellationToken>())) .ReturnsAsync(new GetAllTrainingProgrammesResponse { TrainingProgrammes = _allTrainingProgrammes }); _cohort = autoFixture.Create <GetCohortResponse>(); _cohort.WithParty = Party.Employer; _cohort.ChangeOfPartyRequestId = null; _commitmentsApiClient.Setup(x => x.GetCohort(It.IsAny <long>(), It.IsAny <CancellationToken>())) .ReturnsAsync(_cohort); _source = autoFixture.Create <EditDraftApprenticeshipRequest>(); _source.Cohort = _cohort; _mapper = new EditDraftApprenticeshipViewModelMapper(_commitmentsApiClient.Object, _encodingService.Object); _result = await _mapper.Map(TestHelper.Clone(_source)) as EditDraftApprenticeshipViewModel; }
public async Task <IActionResult> EditDraftApprenticeship(EditDraftApprenticeshipViewModel model) { var updateRequest = await _modelMapper.Map <UpdateDraftApprenticeshipRequest>(model); await _commitmentsApiClient.UpdateDraftApprenticeship(model.CohortId.Value, model.DraftApprenticeshipId.Value, updateRequest); var draftApprenticeship = await _commitmentsApiClient.GetDraftApprenticeship(model.CohortId.Value, model.DraftApprenticeshipId.Value); if (draftApprenticeship.HasStandardOptions) { return(RedirectToAction("SelectOptions", "DraftApprenticeship", new { model.ProviderId, model.DraftApprenticeshipHashedId, model.CohortReference })); } return(RedirectToAction("Details", "Cohort", new { model.ProviderId, model.CohortReference })); }
public void Arrange() { var fixture = new Fixture(); var birthDate = fixture.Create <DateTime?>(); var startDate = fixture.Create <DateTime?>(); var endDate = fixture.Create <DateTime?>(); _mapper = new EditDraftApprenticeshipToUpdateRequestMapper(); _source = fixture.Build <EditDraftApprenticeshipViewModel>() .With(x => x.BirthDay, birthDate?.Day) .With(x => x.BirthMonth, birthDate?.Month) .With(x => x.BirthYear, birthDate?.Year) .With(x => x.EndMonth, endDate?.Month) .With(x => x.EndYear, endDate?.Year) .With(x => x.StartMonth, startDate?.Month) .With(x => x.StartYear, startDate?.Year) .Without(x => x.StartDate) .Without(x => x.Courses) .Create(); _act = async() => await _mapper.Map(TestHelper.Clone(_source)); }
public DraftApprenticeshipControllerTestFixture() { var autoFixture = new Fixture(); _cohortId = autoFixture.Create <long>(); _draftApprenticeshipId = autoFixture.Create <long>(); _providerId = autoFixture.Create <int>(); _cohortReference = autoFixture.Create <string>(); _draftApprenticeshipHashedId = autoFixture.Create <string>(); _editDraftApprenticeshipRequest = autoFixture.Build <EditDraftApprenticeshipRequest>() .With(x => x.CohortId, _cohortId) .With(x => x.DraftApprenticeshipId, _draftApprenticeshipId) .Create(); _editDraftApprenticeshipDetails = autoFixture.Build <GetDraftApprenticeshipResponse>() .Create(); _createAddDraftApprenticeshipRequest = new AddDraftApprenticeshipRequest(); _updateDraftApprenticeshipRequest = new UpdateDraftApprenticeshipRequest(); _reservationsAddDraftApprenticeshipRequest = autoFixture.Build <ReservationsAddDraftApprenticeshipRequest>() .With(x => x.ProviderId, _providerId) .With(x => x.CohortId, _cohortId) .With(x => x.CohortReference, _cohortReference) .With(x => x.StartMonthYear, "012019") .Create(); _courseResponse = new GetTrainingCoursesQueryResponse { TrainingCourses = new TrainingProgramme[0] }; _addModel = new AddDraftApprenticeshipViewModel { ProviderId = _providerId, CohortId = _cohortId, CohortReference = _cohortReference }; _editModel = new EditDraftApprenticeshipViewModel { ProviderId = _providerId, CohortId = _cohortId, CohortReference = _cohortReference, DraftApprenticeshipId = _draftApprenticeshipId, DraftApprenticeshipHashedId = _draftApprenticeshipHashedId }; _cohortResponse = autoFixture.Build <GetCohortResponse>() .With(x => x.LevyStatus, ApprenticeshipEmployerType.Levy) .With(x => x.ChangeOfPartyRequestId, default(long?)) .Create(); _apiModelException = new CommitmentsApiModelException(new List <ErrorDetail>() { new ErrorDetail("Name", "Cannot be more than...") }); _mediator = new Mock <IMediator>(); _mediator.Setup(x => x.Send(It.IsAny <GetTrainingCoursesQueryRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(_courseResponse); _modelMapper = new Mock <IModelMapper>(); _modelMapper.Setup(x => x.Map <AddDraftApprenticeshipRequest>(It.IsAny <AddDraftApprenticeshipViewModel>())) .ReturnsAsync(_createAddDraftApprenticeshipRequest); _modelMapper.Setup(x => x.Map <EditDraftApprenticeshipViewModel>(It.IsAny <EditDraftApprenticeshipRequest>())) .ReturnsAsync(_editModel); _modelMapper.Setup(x => x.Map <UpdateDraftApprenticeshipRequest>(It.IsAny <EditDraftApprenticeshipViewModel>())) .ReturnsAsync(_updateDraftApprenticeshipRequest); _linkGenerator = new Mock <ILinkGenerator>(); _linkGenerator.Setup(x => x.ProviderApprenticeshipServiceLink(It.IsAny <string>())) .Returns <string>(input => input); _commitmentsApiClient = new Mock <ICommitmentsApiClient>(); _commitmentsApiClient.Setup(x => x.GetCohort(It.IsAny <long>(), It.IsAny <CancellationToken>())) .ReturnsAsync(_cohortResponse); _controller = new DraftApprenticeshipController(_mediator.Object, _linkGenerator.Object, _commitmentsApiClient.Object, _modelMapper.Object); }
private void AssertValidationResult <T>(Expression <Func <EditDraftApprenticeshipViewModel, T> > property, EditDraftApprenticeshipViewModel instance, bool expectedValid) { var validator = new EditDraftApprenticeshipViewModelValidator(); if (expectedValid) { validator.ShouldNotHaveValidationErrorFor(property, instance); } else { validator.ShouldHaveValidationErrorFor(property, instance); } }