/// <summary> /// Creates a repository populator. /// </summary> private IRepositoryPopulator GetRepositoryPopulator( IRepositoryMetadataRetriever repoMetadataRetriever = null, IGitHubTeamClient teamClient = null, IGitHubRepositoryClient repoClient = null) { var operationRunner = new MockOperationRunner(); return(new RepositoryPopulator ( new Mock <ILogger <RepositoryPopulator> >().Object, repoMetadataRetriever, teamClient, repoClient, operationRunner )); }
public async Task GetAllPushEventsAsync_ReturnsPushEvents() { var project = new Project(); var students = Collections.CreateList(new ClassroomMembership()); var pushEvents = Collections.CreateList <GitHubPushEvent>(); var repoMetadataRetriever = new Mock <IRepositoryMetadataRetriever>(); repoMetadataRetriever .Setup(rmr => rmr.GetStudentRepositoriesAsync(project, students)) .ReturnsAsync ( new Dictionary <ClassroomMembership, GitHubRepository>() { [students[0]] = new GitHubRepository ( 1, "GitHubOrg", "GitHubRepoName", "main" ) } ); var repoClient = new Mock <IGitHubRepositoryClient>(); repoClient .Setup(rc => rc.GetPushEventsAsync("GitHubOrg", "GitHubRepoName")) .ReturnsAsync(pushEvents); var operationRunner = new MockOperationRunner(); var pushEventRetriever = new PushEventRetriever ( repoMetadataRetriever.Object, repoClient.Object, operationRunner ); var results = await pushEventRetriever.GetAllPushEventsAsync(project, students); Assert.Single(results); Assert.Equal(students[0], results[0].Student); Assert.Equal(pushEvents, results[0].PushEvents); }
public async Task GetAllPushEventsAsync_ReturnsPushEvents() { var project = new Project(); var students = Collections.CreateList(new ClassroomMembership()); var pushEvents = Collections.CreateList<GitHubPushEvent>(); var repoMetadataRetriever = new Mock<IRepositoryMetadataRetriever>(); repoMetadataRetriever .Setup(rmr => rmr.GetStudentRepositoriesAsync(project, students)) .ReturnsAsync ( new Dictionary<ClassroomMembership, GitHubRepository>() { [students[0]] = new GitHubRepository(1, "GitHubOrg", "GitHubRepoName") } ); var repoClient = new Mock<IGitHubRepositoryClient>(); repoClient .Setup(rc => rc.GetPushEventsAsync("GitHubOrg", "GitHubRepoName")) .ReturnsAsync(pushEvents); var operationRunner = new MockOperationRunner(); var pushEventRetriever = new PushEventRetriever ( repoMetadataRetriever.Object, repoClient.Object, operationRunner ); var results = await pushEventRetriever.GetAllPushEventsAsync(project, students); Assert.Equal(results.Count, 1); Assert.Equal(students[0], results[0].Student); Assert.Equal(pushEvents, results[0].PushEvents); }
/// <summary> /// Creates a repository populator. /// </summary> private IRepositoryPopulator GetRepositoryPopulator( IRepositoryMetadataRetriever repoMetadataRetriever = null, IGitHubTeamClient teamClient = null, IGitHubRepositoryClient repoClient = null) { var operationRunner = new MockOperationRunner(); return new RepositoryPopulator ( new Mock<ILogger<RepositoryPopulator>>().Object, repoMetadataRetriever, teamClient, repoClient, operationRunner ); }