public void ShouldReturnStandardProviders()
        {
            var response = new GetStandardProvidersResponse
            {
                StatusCode = GetStandardProvidersResponse.ResponseCodes.Success
            };

            _mockMediator.Setup(x => x.Send(It.IsAny <GetStandardProvidersQuery>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(response);

            _mockMappingService.Setup(x =>
                                      x.Map <GetStandardProvidersResponse, ProviderSearchViewModel>(response))
            .Returns(new ProviderSearchViewModel());

            _sut.SearchForStandardProviders("2", ProviderSearchResponseCodes.Success, "AB12 3CD", "test", string.Empty, string.Empty, null);

            _mockMediator.Verify(x => x.Send(It.IsAny <GetStandardProvidersQuery>(), It.IsAny <CancellationToken>()), Times.Once);

            _mockMappingService.Verify(
                x => x.Map <GetStandardProvidersResponse, ProviderSearchViewModel>(response), Times.Once);
        }
        public void ShouldMapGetStandardProvidersResponseToViewModel()
        {
            var service = new MappingService(Mock.Of <ILog>());

            var response = new GetStandardProvidersResponse
            {
                StandardId = "2",
                Title      = "test title",
                Level      = 3,
                Keywords   = "test words",
                Postcode   = "AS1 2DF"
            };

            var viewModel = service.Map <GetStandardProvidersResponse, ProviderSearchViewModel>(response);

            viewModel.Should().NotBeNull();
            viewModel.ApprenticeshipId.Should().Be(response.StandardId);
            viewModel.Title.Should().Be(response.Title);
            viewModel.PostCode.Should().Be(response.Postcode);
            viewModel.SearchTerms.Should().Be(response.Keywords);
        }
        public void ShouldReturnStandardProvidersNotFound()
        {
            var response = new GetStandardProvidersResponse
            {
                StatusCode = GetStandardProvidersResponse.ResponseCodes.NoStandardFound
            };

            _mockMediator.Setup(x => x.Send(It.IsAny <GetStandardProvidersQuery>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(response);

            _mockMappingService.Setup(x => x.Map <GetStandardProvidersResponse, ProviderSearchViewModel>(
                                          It.IsAny <GetStandardProvidersResponse>()));

            var result = _sut.SearchForStandardProviders("2", ProviderSearchResponseCodes.Success, "AB12 3CD", "test", string.Empty, string.Empty, null).Result as HttpNotFoundResult;

            _mockMediator.Verify(x => x.Send(It.IsAny <GetStandardProvidersQuery>(), It.IsAny <CancellationToken>()), Times.Once);

            _mockMappingService.Verify(
                x => x.Map <GetStandardProvidersResponse, ProviderSearchViewModel>(
                    It.IsAny <GetStandardProvidersResponse>()), Times.Never);

            result.Should().NotBeNull();
            result.StatusCode.Should().Be(404);
        }