示例#1
0
        public async Task <GitBaseResponse <GitCodeSearchResponse> > GetCodeSearchResponse(string searchTerm, string sort, string order, int?perPage, int?pageNumber)
        {
            try
            {
                var response = await _githubClient.GetSearchResponse <GitBaseResponse <GitCodeSearchResponse> >(GitSearchType.code, searchTerm + " org:github", sort, order, perPage, pageNumber);

                response.sort       = sort;
                response.order      = order;
                response.perPage    = perPage;
                response.pageNumber = pageNumber;

                return(response);
            }
            catch (InvalidOperationException ex)
            {
                throw ex;
            }
        }
        public void GetRepositorySearchResponse__returns_search_results_from_github_repository_search_api()
        {
            //Arrange
            GitRepositorySearchResponse gitResponse = new GitRepositorySearchResponse
            {
                id = 1
            };
            GitBaseResponse <GitRepositorySearchResponse> response = new GitBaseResponse <GitRepositorySearchResponse>
            {
                total_count        = 1,
                incomplete_results = false,
                items = new List <GitRepositorySearchResponse>()
                {
                    gitResponse
                },
                sort       = sort,
                order      = order,
                perPage    = perPage,
                pageNumber = pageNumber
            };

            mockGithubHttpClient.GetSearchResponse <GitBaseResponse <GitRepositorySearchResponse> >(GitSearchType.repositories, searchTerm, sort, order, perPage, pageNumber).Returns(response);

            //Act
            var result = subject.GetRepositorySearchResponse(searchTerm, sort, order, perPage, pageNumber);

            //Assert
            mockGithubHttpClient.Received(1).GetSearchResponse <GitBaseResponse <GitRepositorySearchResponse> >(GitSearchType.repositories, searchTerm, sort, order, perPage, pageNumber);
            result.Result.Should().BeEquivalentTo(response);
        }