public void WhenCallingSearchApprenticeship()
        {
            _fixture = new Fixture();

            _searchApprenticeshipParameters = _fixture.Create <SearchApprenticeshipParameters>();
            _apprenticeshipSearchResponse   = _fixture.Create <ApprenticeshipSearchResponse>();
            var searchApprenticeshipVacanciesRequest  = _fixture.Create <SearchApprenticeshipVacanciesRequest>();
            var searchApprenticeshipVacanciesResponse = _fixture.Create <SearchApprenticeshipVacanciesResponse>();

            _expectedErrorMessage = _fixture.Create <string>();

            var mockMapper = new Mock <IMapper>();

            mockMapper
            .Setup(mapper => mapper.Map <SearchApprenticeshipVacanciesRequest>(_searchApprenticeshipParameters))
            .Returns(searchApprenticeshipVacanciesRequest);
            mockMapper
            .Setup(mapper => mapper.Map <ApprenticeshipSearchResponse>(searchApprenticeshipVacanciesResponse))
            .Returns(_apprenticeshipSearchResponse);

            var mockMediator = new Mock <IMediator>();

            mockMediator
            .Setup(mediator => mediator.Send(searchApprenticeshipVacanciesRequest, CancellationToken.None))
            .ReturnsAsync(searchApprenticeshipVacanciesResponse);

            var mockSettings = new Mock <IProvideSettings>();

            mockSettings
            .Setup(x => x.GetSetting(ApplicationSettingKeys.LiveApprenticeshipVacancyBaseUrlKey))
            .Returns(FAABaseUrl);

            _mockValidationExceptionBuilder = _fixture.Freeze <Mock <IValidationExceptionBuilder> >(composer => composer.Do(mock => mock
                                                                                                                            .Setup(builder => builder.Build(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
                                                                                                                            .Returns(new ValidationException(new List <ValidationFailure>
            {
                new ValidationFailure("", _expectedErrorMessage)
            }))
                                                                                                                            ));

            _orchestrator = new SearchApprenticeshipVacanciesOrchestrator(mockMediator.Object, mockMapper.Object, mockSettings.Object, _mockValidationExceptionBuilder.Object);
        }
 public SearchApprenticeshipVacanciesController(SearchApprenticeshipVacanciesOrchestrator searchOrchestrator)
 {
     _searchOrchestrator = searchOrchestrator;
 }