public async Task GetRepositoryInfos_LargePageSize() { var allRepositories = new Repository[] { new RepositoryMock("repo1", "user1"), new RepositoryMock("repo2", "user1"), new RepositoryMock("repo3", "user1") }; var allContributors = new Dictionary <string, Contributor[]>() { { "repo3", new Contributor[] { new ContributorInfoMock("user5", 1), new ContributorInfoMock("user6", 2), new ContributorInfoMock("user7", 5) } } }; IDataLoaderFactory factory = new DataLoaderFactoryMock(allRepositories, allContributors, 20); var loader = new RepositoryInfoService(factory); var result = new List <RepositoryStatInfo>(); await foreach (var repositoryInfo in loader.GetRepositoryInfosAsync("flemsoft")) { result.Add(repositoryInfo); } CollectionAssert.AreEquivalent(allRepositories, result.Select(x => x.Repository).ToList()); var repo1 = result.FirstOrDefault(x => x.Repository.Name == "repo3"); Assert.IsNotNull(repo1); CollectionAssert.AreEquivalent(allContributors["repo3"], repo1.Contributors.ToList()); }
public async Task GetRepositoryInfos_ThrowInvalidGitHubResponse() { var allRepositories = new Repository[] { new RepositoryMock("repo1", "user1"), new RepositoryMock("repo2", null), new RepositoryMock("repo3", "user1") }; var allContributors = new Dictionary <string, Contributor[]>(); IDataLoaderFactory factory = new DataLoaderFactoryMock(allRepositories, allContributors); var loader = new RepositoryInfoService(factory); var result = new List <RepositoryStatInfo>(); await foreach (var repositoryInfo in loader.GetRepositoryInfosAsync("flemsoft")) { result.Add(repositoryInfo); } }