public async Task <IActionResult> Create([FromBody] CreateCohortRequest request)
        {
            var command = new AddCohortCommand(
                request.AccountId,
                request.AccountLegalEntityId,
                request.ProviderId,
                request.CourseCode,
                request.Cost,
                request.StartDate,
                request.EndDate,
                request.OriginatorReference,
                request.ReservationId,
                request.FirstName,
                request.LastName,
                request.DateOfBirth,
                request.Uln,
                request.TransferSenderId,
                request.UserInfo);

            var result = await _mediator.Send(command);

            return(Ok(new CreateCohortResponse
            {
                CohortId = result.Id,
                CohortReference = result.Reference
            }));
        }
        public async Task Arrange()
        {
            var fixture = new Fixture();

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

            _mapper = new CreateCohortRequestMapper();

            _source = fixture.Build <ApprenticeViewModel>()
                      .With(x => x.BirthDay, birthDate?.Day)
                      .With(x => x.BirthMonth, birthDate?.Month)
                      .With(x => x.BirthYear, birthDate?.Year)
                      .With(x => x.Cost, 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();

            _result = await _mapper.Map(TestHelper.Clone(_source));
        }
        public void Arrange()
        {
            _validRequest = new CreateCohortRequest
            {
                ProviderId           = 123,
                AccountLegalEntityId = 456,
                ReservationId        = Guid.NewGuid()
            };

            _validator = new CreateCohortValidator();
            _act       = () => _validator.Validate(_validRequest);
        }
 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;
 }
Example #5
0
            public CreateCohortHandlerFixture()
            {
                _autoFixture = new Fixture();

                _request      = _autoFixture.Create <CreateCohortRequest>();
                _requestClone = TestHelper.Clone(_request);

                _draftResponse = _autoFixture.Build <DraftApprenticeshipDto>().Create();

                var getDraftApprenticeshipsResponse = new GetDraftApprenticeshipsResponse
                {
                    DraftApprenticeships = new List <DraftApprenticeshipDto>
                    {
                        _draftResponse
                    }
                };

                var getDraftApprenticeshipResponse = _autoFixture.Build <GetDraftApprenticeshipResponse>()
                                                     .With(c => c.HasStandardOptions, true)
                                                     .Create();


                _validationResult = new ValidationResult();
                _validator        = new Mock <IValidator <CreateCohortRequest> >();
                _validator.Setup(x => x.Validate(It.IsAny <CreateCohortRequest>()))
                .Returns(_validationResult);

                _apiResponse = _autoFixture.Create <CommitmentsV2.Api.Types.Responses.CreateCohortResponse>();
                _apiClient   = new Mock <ICommitmentsApiClient>();
                _apiClient.Setup(x => x.CreateCohort(It.IsAny <CommitmentsV2.Api.Types.Requests.CreateCohortRequest>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(_apiResponse);
                _apiClient.Setup(x => x.GetDraftApprenticeships(_apiResponse.CohortId, It.IsAny <CancellationToken>()))
                .ReturnsAsync(getDraftApprenticeshipsResponse);
                _apiClient.Setup(x => x.GetDraftApprenticeship(_apiResponse.CohortId, _draftResponse.Id, It.IsAny <CancellationToken>()))
                .ReturnsAsync(getDraftApprenticeshipResponse);

                _mapper = new Mock <IMapper <CreateCohortRequest, CommitmentsV2.Api.Types.Requests.CreateCohortRequest> >();

                _apiRequest = _autoFixture.Create <CommitmentsV2.Api.Types.Requests.CreateCohortRequest>();
                _mapper.Setup(m => m.Map(_requestClone))
                .ReturnsAsync(_apiRequest);
                _handler = new CreateCohortHandler(_validator.Object, _apiClient.Object, _mapper.Object);
            }
            public UnapprovedControllerTestFixture()
            {
                _autoFixture = new Fixture();

                _draftApprenticeshipHashedId = _autoFixture.Create <string>();
                _mediator        = new Mock <IMediator>();
                _mockModelMapper = new Mock <IModelMapper>();
                _linkGenerator   = new Mock <ILinkGenerator>();
                _encodingService = new Mock <IEncodingService>();

                _model = new AddDraftApprenticeshipViewModel
                {
                    ProviderId = _autoFixture.Create <int>(),
                    EmployerAccountLegalEntityPublicHashedId = _autoFixture.Create <string>(),
                    AccountLegalEntityId = _autoFixture.Create <long>(),
                    ReservationId        = _autoFixture.Create <Guid>()
                };

                _createCohortRequest = new CreateCohortRequest();
                _mockModelMapper
                .Setup(x => x.Map <CreateCohortRequest>(It.IsAny <AddDraftApprenticeshipViewModel>()))
                .ReturnsAsync(_createCohortRequest);

                _createCohortResponse = new CreateCohortResponse
                {
                    CohortId              = _autoFixture.Create <long>(),
                    CohortReference       = _autoFixture.Create <string>(),
                    DraftApprenticeshipId = null
                };

                _mediator.Setup(x => x.Send(It.IsAny <CreateCohortRequest>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(_createCohortResponse);

                _linkGeneratorRedirectUrl = _autoFixture.Create <string>();
                _linkGenerator.Setup(x => x.ProviderApprenticeshipServiceLink(It.IsAny <string>()))
                .Returns(_linkGeneratorRedirectUrl)
                .Callback((string value) => _linkGeneratorParameter = value);


                _controller = new CohortController(_mediator.Object, _mockModelMapper.Object, _linkGenerator.Object, Mock.Of <ICommitmentsApiClient>(), Mock.Of <IFeatureTogglesService <ProviderFeatureToggle> >(), _encodingService.Object);
            }
            public CreateCohortHandlerFixture()
            {
                var autoFixture = new Fixture();

                _request      = autoFixture.Create <CreateCohortRequest>();
                _requestClone = TestHelper.Clone(_request);

                _validationResult = new ValidationResult();
                _validator        = new Mock <IValidator <CreateCohortRequest> >();
                _validator.Setup(x => x.Validate(It.IsAny <CreateCohortRequest>()))
                .Returns(_validationResult);

                _apiResponse = autoFixture.Create <CommitmentsV2.Api.Types.Responses.CreateCohortResponse>();
                _apiClient   = new Mock <ICommitmentsApiClient>();
                _apiClient.Setup(x => x.CreateCohort(It.IsAny <CommitmentsV2.Api.Types.Requests.CreateCohortRequest>(), It.IsAny <CancellationToken>()))
                .ReturnsAsync(_apiResponse);

                _mapper = new Mock <IMapper <CreateCohortRequest, CommitmentsV2.Api.Types.Requests.CreateCohortRequest> >();

                _apiRequest = autoFixture.Create <CommitmentsV2.Api.Types.Requests.CreateCohortRequest>();
                _mapper.Setup(m => m.Map(_requestClone))
                .ReturnsAsync(_apiRequest);
                _handler = new CreateCohortHandler(_validator.Object, _apiClient.Object, _mapper.Object);
            }
Example #8
0
 public Task <CreateCohortResponse> CreateCohort(CreateCohortRequest request, CancellationToken cancellationToken = default)
 {
     return(_client.PostAsJson <CreateCohortRequest, CreateCohortResponse>("api/cohorts", request, cancellationToken));
 }