public void Validate_DraftApprenticeshipHashedId_ShouldBeValidated(string reference, bool expectedValid) { var model = new DraftApprenticeshipRequest { DraftApprenticeshipHashedId = reference }; AssertValidationResult(request => request.DraftApprenticeshipHashedId, model, expectedValid); }
public void Validate_CohortReference_ShouldBeValidated(string cohortReference, bool expectedValid) { var model = new DraftApprenticeshipRequest { CohortReference = cohortReference }; AssertValidationResult(request => request.CohortReference, model, expectedValid); }
public void Validate_DraftApprenticeshipId_ShouldBeValidated(int id, bool expectedValid) { var model = new DraftApprenticeshipRequest { DraftApprenticeshipId = id }; AssertValidationResult(request => request.DraftApprenticeshipId, model, expectedValid); }
public void Validate_CohortId_ShouldBeValidated(int cohortId, bool expectedValid) { var model = new DraftApprenticeshipRequest { CohortId = cohortId }; AssertValidationResult(request => request.CohortId, model, expectedValid); }
public async Task <IActionResult> ViewEditDraftApprenticeship(DraftApprenticeshipRequest request) { try { var model = await _modelMapper.Map <IDraftApprenticeshipViewModel>(request); if (model is EditDraftApprenticeshipViewModel editModel) { await AddLegalEntityAndCoursesToModel(editModel); return(View("EditDraftApprenticeship", editModel)); } return(View("ViewDraftApprenticeship", model as ViewDraftApprenticeshipViewModel)); } catch (Exception e) when(e is DraftApprenticeshipNotFoundException) { return(RedirectToAction("Details", "Cohort", new { request.ProviderId, request.CohortReference })); } }
public void Arrange() { var fixture = new Fixture(); _apiResponse = fixture.Build <GetDraftApprenticeshipResponse>().Create(); _apiTrainingProgrammeResponse = fixture.Build <GetTrainingProgrammeResponse>().Create(); var commitmentsApiClient = new Mock <ICommitmentsApiClient>(); commitmentsApiClient.Setup(x => x.GetDraftApprenticeship(It.IsAny <long>(), It.IsAny <long>(), It.IsAny <CancellationToken>())) .ReturnsAsync(_apiResponse); commitmentsApiClient.Setup(x => x.GetTrainingProgramme(_apiResponse.CourseCode, It.IsAny <CancellationToken>())) .ReturnsAsync(_apiTrainingProgrammeResponse); _mapper = new ViewDraftApprenticeshipViewModelMapper(commitmentsApiClient.Object); _source = fixture.Build <DraftApprenticeshipRequest>().Create(); _act = async() => (await _mapper.Map(TestHelper.Clone(_source))) as ViewDraftApprenticeshipViewModel; }
public void Arrange() { var autoFixture = new Fixture(); _cohort = autoFixture.Create <GetCohortResponse>(); _request = autoFixture.Create <DraftApprenticeshipRequest>(); _apiClient = new Mock <ICommitmentsApiClient>(); _apiClient.Setup(x => x.GetCohort(It.IsAny <long>(), It.IsAny <CancellationToken>())).ReturnsAsync(_cohort); _modelMapper = new Mock <IModelMapper>(); _modelMapper.Setup(x => x.Map <IDraftApprenticeshipViewModel>(It.IsAny <EditDraftApprenticeshipRequest>())) .ReturnsAsync(new EditDraftApprenticeshipViewModel()); _modelMapper.Setup(x => x.Map <ViewDraftApprenticeshipViewModel>(It.IsAny <DraftApprenticeshipRequest>())) .ReturnsAsync(new ViewDraftApprenticeshipViewModel()); _mapper = new IDraftApprenticeshipDetailsViewModelMapper(_apiClient.Object, _modelMapper.Object); }
private void AssertValidationResult <T>(Expression <Func <DraftApprenticeshipRequest, T> > property, DraftApprenticeshipRequest instance, bool expectedValid) { var validator = new DraftApprenticeshipRequestValidator(); if (expectedValid) { validator.ShouldNotHaveValidationErrorFor(property, instance); } else { validator.ShouldHaveValidationErrorFor(property, instance); } }
public async Task <IActionResult> ViewDraftApprenticeship(DraftApprenticeshipRequest request) { var model = await _modelMapper.Map <ViewDraftApprenticeshipViewModel>(request); return(View("ViewDraftApprenticeship", model)); }
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>(); _draftApprenticeshipRequest = autoFixture.Build <DraftApprenticeshipRequest>() .With(x => x.CohortId, _cohortId) .With(x => x.DraftApprenticeshipId, _draftApprenticeshipId) .Create(); _selectOptionsRequest = autoFixture.Build <SelectOptionsRequest>() .With(c => c.CohortId, _cohortId) .With(x => x.DraftApprenticeshipId, _draftApprenticeshipId) .Create(); _selectOptionsViewModel = autoFixture.Build <ViewSelectOptionsViewModel>() .With(c => c.CohortId, _cohortId) .With(x => x.DraftApprenticeshipId, _draftApprenticeshipId) .Create(); _draftApprenticeshipDetails = autoFixture.Build <GetDraftApprenticeshipResponse>() .With(x => x.Id, _draftApprenticeshipId) .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 { CourseCode = "123", ProviderId = _providerId, CohortId = _cohortId, CohortReference = _cohortReference }; _editModel = new EditDraftApprenticeshipViewModel { ProviderId = _providerId, CohortId = _cohortId, CohortReference = _cohortReference, DraftApprenticeshipId = _draftApprenticeshipId, DraftApprenticeshipHashedId = _draftApprenticeshipHashedId }; _viewModel = new ViewDraftApprenticeshipViewModel { ProviderId = _providerId, CohortReference = _cohortReference }; _viewSelectOptionsViewModel = autoFixture.Build <ViewSelectOptionsViewModel>().Create(); _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 <UpdateDraftApprenticeshipRequest>(It.IsAny <EditDraftApprenticeshipViewModel>())) .ReturnsAsync(_updateDraftApprenticeshipRequest); _modelMapper.Setup(x => x.Map <AddDraftApprenticeshipViewModel>(It.IsAny <ReservationsAddDraftApprenticeshipRequest>())) .ReturnsAsync(_addModel); _modelMapper.Setup(x => x.Map <UpdateDraftApprenticeshipRequest>(It.IsAny <GetDraftApprenticeshipResponse>())) .ReturnsAsync(_updateDraftApprenticeshipRequest); _modelMapper.Setup(x => x.Map <UpdateDraftApprenticeshipRequest>(It.IsAny <ViewSelectOptionsViewModel>())) .ReturnsAsync(_updateDraftApprenticeshipRequest); _commitmentsApiClient = new Mock <ICommitmentsApiClient>(); _commitmentsApiClient.Setup(x => x.GetCohort(It.IsAny <long>(), It.IsAny <CancellationToken>())) .ReturnsAsync(_cohortResponse); _commitmentsApiClient.Setup( x => x.AddDraftApprenticeship(_addModel.CohortId.Value, _createAddDraftApprenticeshipRequest, It.IsAny <CancellationToken>())) .ReturnsAsync(new AddDraftApprenticeshipResponse { DraftApprenticeshipId = _draftApprenticeshipId }); var encodingService = new Mock <IEncodingService>(); encodingService.Setup(x => x.Encode(_draftApprenticeshipId, EncodingType.ApprenticeshipId)) .Returns(_draftApprenticeshipHashedId); _controller = new DraftApprenticeshipController(_mediator.Object, _commitmentsApiClient.Object, _modelMapper.Object, encodingService.Object); }