Пример #1
0
        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);
        }
Пример #2
0
        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);
        }