예제 #1
0
            public WhenPostingDetailsFixture()
            {
                var autoFixture = new Fixture();

                var modelMapper = new Mock <IModelMapper>();

                _commitmentsApiClient = new Mock <ICommitmentsApiClient>();
                var linkGenerator = new Mock <ILinkGenerator>();

                _cohortId                   = autoFixture.Create <long>();
                _accountHashedId            = autoFixture.Create <string>();
                _accountLegalEntityHashedId = autoFixture.Create <string>();

                _viewModel = new DetailsViewModel
                {
                    CohortId                   = _cohortId,
                    AccountHashedId            = _accountHashedId,
                    AccountLegalEntityHashedId = _accountLegalEntityHashedId
                };

                _sendCohortApiRequest         = new SendCohortRequest();
                _approveCohortApiRequest      = new ApproveCohortRequest();
                _viewEmployerAgreementRequest = new ViewEmployerAgreementRequest
                {
                    AccountHashedId   = autoFixture.Create <string>(),
                    AgreementHashedId = autoFixture.Create <string>()
                };

                modelMapper.Setup(x => x.Map <SendCohortRequest>(It.Is <DetailsViewModel>(vm => vm == _viewModel)))
                .ReturnsAsync(_sendCohortApiRequest);

                modelMapper.Setup(x => x.Map <ApproveCohortRequest>(It.Is <DetailsViewModel>(vm => vm == _viewModel)))
                .ReturnsAsync(_approveCohortApiRequest);

                modelMapper.Setup(x =>
                                  x.Map <ViewEmployerAgreementRequest>(It.Is <DetailsViewModel>(vm => vm == _viewModel)))
                .ReturnsAsync(_viewEmployerAgreementRequest);

                _commitmentsApiClient.Setup(x => x.SendCohort(It.Is <long>(c => c == _cohortId),
                                                              It.Is <SendCohortRequest>(r => r == _sendCohortApiRequest), It.IsAny <CancellationToken>()))
                .Returns(Task.CompletedTask);

                _commitmentsApiClient.Setup(x => x.ApproveCohort(It.Is <long>(c => c == _cohortId),
                                                                 It.Is <ApproveCohortRequest>(r => r == _approveCohortApiRequest), It.IsAny <CancellationToken>()))
                .Returns(Task.CompletedTask);

                _linkGeneratorResult = autoFixture.Create <string>();

                linkGenerator.Setup(x => x.AccountsLink(It.IsAny <string>()))
                .Returns(_linkGeneratorResult);

                linkGenerator.Setup(x => x.CommitmentsLink(It.IsAny <string>()))
                .Returns(_linkGeneratorResult);

                _controller = new CohortController(_commitmentsApiClient.Object,
                                                   Mock.Of <ILogger <CohortController> >(),
                                                   linkGenerator.Object,
                                                   modelMapper.Object,
                                                   Mock.Of <IAuthorizationService>());
            }
        public async Task <IActionResult> Send(long cohortId, [FromBody] SendCohortRequest request)
        {
            var command = new SendCohortCommand(cohortId, request.Message, request.UserInfo);
            await _mediator.Send(command);

            return(Ok());
        }
예제 #3
0
        public async Task Arrange()
        {
            var autoFixture = new Fixture();

            _source = autoFixture.Build <DetailsViewModel>().Without(x => x.Courses).Create();

            _mapper = new SendCohortRequestMapper();

            _result = await _mapper.Map(TestHelper.Clone(_source));
        }
예제 #4
0
        public SendTestsFixture()
        {
            AutoFixture = new Fixture();
            Mediator    = new Mock <IMediator>();
            Controller  = new CohortController(Mediator.Object);
            Request     = AutoFixture.Create <SendCohortRequest>();

            Mediator.Setup(m => m.Send(It.Is <SendCohortCommand>(c =>
                                                                 c.CohortId == CohortId &&
                                                                 c.Message == Request.Message &&
                                                                 c.UserInfo == Request.UserInfo), CancellationToken.None))
            .ReturnsAsync(Unit.Value);
        }
 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;
 }
예제 #6
0
            public WhenPostingDetailsFixture()
            {
                var autoFixture = new Fixture();

                var modelMapper = new Mock <IModelMapper>();

                _commitmentsApiClient       = new Mock <ICommitmentsApiClient>();
                _policyAuthorizationWrapper = new Mock <IPolicyAuthorizationWrapper>();
                var linkGenerator = new Mock <ILinkGenerator>();

                _cohortId   = autoFixture.Create <long>();
                _providerId = autoFixture.Create <long>();
                _accountLegalEntityHashedId = autoFixture.Create <string>();

                _viewModel = new DetailsViewModel
                {
                    CohortId   = _cohortId,
                    ProviderId = _providerId,
                    AccountLegalEntityHashedId = _accountLegalEntityHashedId
                };

                _sendCohortApiRequest    = new SendCohortRequest();
                _approveCohortApiRequest = new ApproveCohortRequest();

                modelMapper.Setup(x => x.Map <SendCohortRequest>(It.Is <DetailsViewModel>(vm => vm == _viewModel)))
                .ReturnsAsync(_sendCohortApiRequest);

                modelMapper.Setup(x => x.Map <ApproveCohortRequest>(It.Is <DetailsViewModel>(vm => vm == _viewModel)))
                .ReturnsAsync(_approveCohortApiRequest);

                _commitmentsApiClient.Setup(x => x.SendCohort(It.Is <long>(c => c == _cohortId),
                                                              It.Is <SendCohortRequest>(r => r == _sendCohortApiRequest), It.IsAny <CancellationToken>()))
                .Returns(Task.CompletedTask);

                _commitmentsApiClient.Setup(x => x.ApproveCohort(It.Is <long>(c => c == _cohortId),
                                                                 It.Is <ApproveCohortRequest>(r => r == _approveCohortApiRequest), It.IsAny <CancellationToken>()))
                .Returns(Task.CompletedTask);
                _policyAuthorizationWrapper.Setup(x => x.IsAuthorized(It.IsAny <System.Security.Claims.ClaimsPrincipal>(), It.IsAny <string>())).ReturnsAsync(true);

                _linkGeneratorResult = autoFixture.Create <string>();

                linkGenerator.Setup(x => x.ProviderApprenticeshipServiceLink(It.IsAny <string>()))
                .Returns(_linkGeneratorResult);

                _controller = new CohortController(Mock.Of <IMediator>(),
                                                   modelMapper.Object,
                                                   linkGenerator.Object,
                                                   _commitmentsApiClient.Object, Mock.Of <IFeatureTogglesService <ProviderFeatureToggle> >(), Mock.Of <IEncodingService>());
            }
예제 #7
0
 public Task SendCohort(long cohortId, SendCohortRequest request, CancellationToken cancellationToken = default)
 {
     return(_client.PostAsJson($"api/cohorts/{cohortId}/send", request, cancellationToken));
 }