Exemple #1
0
        public void Arrange()
        {
            var fixture = new Fixture();

            _request = fixture.Create <SelectOptionRequest>();

            var birthDate = fixture.Create <DateTime?>();
            var startDate = fixture.Create <DateTime?>();
            var endDate   = fixture.Create <DateTime?>();

            _viewModel = fixture.Build <SelectOptionViewModel>()
                         .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)
                         .Create();

            _updateRequest = fixture.Create <UpdateDraftApprenticeshipRequest>();

            _mockModelMapper          = new Mock <IModelMapper>();
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _controller = new DraftApprenticeshipController(_mockModelMapper.Object, _mockCommitmentsApiClient.Object, Mock.Of <IAuthorizationService>(), Mock.Of <IEncodingService>());

            _mockModelMapper.Setup(m => m.Map <UpdateDraftApprenticeshipRequest>(_viewModel))
            .ReturnsAsync(_updateRequest);
        }
        public DraftApprenticeshipControllerTestsFixture WithUpdateDraftApprenticeshipCommandResponse()
        {
            UpdateDraftApprenticeshipRequest = new UpdateDraftApprenticeshipRequest();
            UpdateDraftApprenticeshipCommand = new UpdateDraftApprenticeshipCommand();
            UpdateDraftApprenticeshipMapper.Setup(m => m.Map(UpdateDraftApprenticeshipRequest)).ReturnsAsync(UpdateDraftApprenticeshipCommand);
            Mediator.Setup(m => m.Send(UpdateDraftApprenticeshipCommand, CancellationToken.None)).ReturnsAsync(new UpdateDraftApprenticeshipResponse {
                Id = CohortId, ApprenticeshipId = DraftApprenticeshipId
            });

            return(this);
        }
 public WhenCallingTheEndpointsFixture()
 {
     MockRestHttpClient                = new Mock <IRestHttpClient>();
     CommitmentsApiClient              = new Client.CommitmentsApiClient(MockRestHttpClient.Object);
     AddDraftApprenticeshipRequest     = new AddDraftApprenticeshipRequest();
     ApproveCohortRequest              = new ApproveCohortRequest();
     CreateCohortRequest               = new CreateCohortRequest();
     CreateCohortWithOtherPartyRequest = new CreateCohortWithOtherPartyRequest();
     SendCohortRequest = new SendCohortRequest();
     UpdateDraftApprenticeshipRequest = new UpdateDraftApprenticeshipRequest();
     DeleteDraftApprenticeshipRequest = new DeleteDraftApprenticeshipRequest();
     UserInfo = new UserInfo();
     CohortId = 123;
 }
        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);
        }
Exemple #5
0
        public async Task <IActionResult> Update(long cohortId, long apprenticeshipId, [FromBody] UpdateDraftApprenticeshipRequest request)
        {
            var command = await _updateDraftApprenticeshipMapper.Map(request);

            command.CohortId         = cohortId;
            command.ApprenticeshipId = apprenticeshipId;

            await _mediator.Send(command);

            return(Ok());
        }
Exemple #6
0
 public Task UpdateDraftApprenticeship(long cohortId, long apprenticeshipId, UpdateDraftApprenticeshipRequest request, CancellationToken cancellationToken = default)
 {
     return(_client.PutAsJson <UpdateDraftApprenticeshipRequest>(
                $"api/cohorts/{cohortId}/draft-apprenticeships/{apprenticeshipId}", request, cancellationToken));
 }