public void ShouldMapGetFrameworkProvidersResponseToViewModel()
        {
            var service = new MappingService(Mock.Of <ILog>());

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

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

            viewModel.Should().NotBeNull();
            viewModel.ApprenticeshipId.Should().Be(response.FrameworkId);
            viewModel.Title.Should().Be($"{response.Title}, level {response.Level}");
            viewModel.PostCode.Should().Be(response.Postcode);
            viewModel.SearchTerms.Should().Be(response.Keywords);
        }
        public void ShouldReturnFrameworkProvidersNotFound()
        {
            var response = new GetFrameworkProvidersResponse
            {
                StatusCode = GetFrameworkProvidersResponse.ResponseCodes.NoFrameworkFound
            };

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

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

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

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

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

            result.Should().NotBeNull();
            result.StatusCode.Should().Be(404);
        }
        public void ShouldReturnFrameworkProviders()
        {
            // Assign
            var response = new GetFrameworkProvidersResponse
            {
                StatusCode = GetFrameworkProvidersResponse.ResponseCodes.Success
            };

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

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

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

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

            _mockMappingService.Verify(
                x => x.Map <GetFrameworkProvidersResponse, ProviderSearchViewModel>(response), Times.Once);
        }