public async Task AGitHubSearchService_WillReturnAGitHubUser_WhenSearching() { Mock <IGitHubConnector> connector = new Mock <IGitHubConnector>(); connector.Setup(c => c.FindUser(It.Is <string>(criteria => criteria == "test"))) .Returns(Task.FromResult(new GitHubUser { Repositories = new List <GitHubRepository>() })); GitHubSearchService service = new GitHubSearchService(connector.Object); GitHubUser result = await service.FindUser("test"); Assert.AreEqual(result.GetType(), typeof(GitHubUser)); }
public async Task AGitHubSearchService_WithSuccessfulSearch_WillReturnOnlyFiveOrLessRepositories() { GitHubUser user = Generators.GitHubUser.Sample(50, 1).First(); List <GitHubRepository> repos = Generators.GitHubRepositories.Sample(50, 1).First(); user.Repositories = repos; Mock <IGitHubConnector> connector = new Mock <IGitHubConnector>(); connector.Setup(c => c.FindUser(It.IsAny <string>())) .Returns(Task.FromResult(user)); GitHubSearchService service = new GitHubSearchService(connector.Object); GitHubUser result = await service.FindUser("test"); Assert.LessOrEqual(result.Repositories.ToList().Count, 5); }
public async Task GitHubSearchService_WithSuccessfulSearch_WillReturnRepositoriesSortedByStarGazeCount() { GitHubUser user = Generators.GitHubUser.Sample(50, 1).First(); List <GitHubRepository> repos = Generators.GitHubRepositories.Sample(50, 1).Single(c => c.Count > 5); user.Repositories = repos; GitHubRepository highestStarGaze = repos.OrderByDescending(c => c.NumberOfStarGazers).First(); GitHubRepository lowestStarGaze = repos.OrderByDescending(c => c.NumberOfStarGazers).Take(5).Last(); Mock <IGitHubConnector> connector = new Mock <IGitHubConnector>(); connector.Setup(c => c.FindUser(It.IsAny <string>())) .Returns(Task.FromResult(user)); GitHubSearchService service = new GitHubSearchService(connector.Object); GitHubUser result = await service.FindUser("test"); Assert.AreEqual(highestStarGaze.NumberOfStarGazers, result.Repositories.First().NumberOfStarGazers); Assert.AreEqual(lowestStarGaze.NumberOfStarGazers, result.Repositories.Last().NumberOfStarGazers); }