public void GivenTwoSearchEngines_ThenTwoSearchResultsReturned() { var googleSearchEngine = A.Fake <ISearchEngine>(); A.CallTo(() => googleSearchEngine.Name).Returns("Google"); var bingSearchEngine = A.Fake <ISearchEngine>(); A.CallTo(() => googleSearchEngine.Name).Returns("Bing"); var _searchHitsControllerService = new SearchHitsControllerService(new List <ISearchEngine> { googleSearchEngine, bingSearchEngine }); var result = _searchHitsControllerService.GetSearchRankings("tests", "best"); result.Count().Should().Be(2); }
public void GivenSearchResult_ThenModelMappedCorrectly() { const string Address = "https://address.com/"; const string PageTitle = "Title"; const int Ranking = 42; const string SearchEngineName = "SearchEngine"; const string SearchTerm = "SearchTerm"; var expected = new SearchRankResponse { MatchingResults = new List <SearchRankResponse.SearchResult> { new SearchRankResponse.SearchResult { Address = Address, Ranking = Ranking, Title = PageTitle } }, SearchEngine = SearchEngineName, SearchTerm = SearchTerm, TestUrl = Address }; var googleSearchEngine = A.Fake <ISearchEngine>(); A.CallTo(() => googleSearchEngine.Name).Returns(expected.SearchEngine); A.CallTo(() => googleSearchEngine.GetSearchResultsForTerm(A <string> ._)).Returns( new List <SearchResult> { new SearchResult { Address = new Uri(Address), Ranking = Ranking, Title = PageTitle } } ); var _searchHitsControllerService = new SearchHitsControllerService(new List <ISearchEngine> { googleSearchEngine }); var result = _searchHitsControllerService.GetSearchRankings(SearchTerm, Address); result.Should().BeEquivalentTo(expected); }