public async Task <ActionResult> SearchResults(ProviderNameSearchQuery query)
        {
            var response = await _mediator.Send(query);

            var viewModel = _mappingService.Map <ProviderNameSearchResponse, ProviderNameSearchResultViewModel>(response);

            return(View(viewModel));
        }
        public async Task ShouldReturnSuccessWhenSearchIsSuccessful()
        {
            var message = new ProviderNameSearchQuery {
                SearchTerm = "test", Page = 1
            };

            var response = await _handler.Handle(message, default(CancellationToken));

            response.StatusCode.Should().Be(ProviderNameSearchResponseCodes.Success);
        }
        public async Task ShouldReturnFirstPageWhenPageZero()
        {
            var message = new ProviderNameSearchQuery {
                SearchTerm = _searchTerm, Page = 0, PageSize = _resultsToTake
            };

            var response = await _handler.Handle(message, default(CancellationToken));

            response.ActualPage.Should().Be(1);
            response.HasError.Should().BeFalse();
            response.LastPage.Should().Be(_lastPage);
            response.ResultsToTake.Should().Be(_resultsToTake);
            response.SearchTerm.Should().Be(_searchTerm);
            response.TotalResults.Should().Be(_totalResults);
            response.Results.Should().BeSameAs(_searchResults);
        }