public async Task CanGetCommitsAndCommentCount() { await CreateTheWorld(); var newPullRequest = new NewPullRequest("a pull request", branchName, "master"); var pullRequest = await _fixture.Create(Helper.UserName, _context.RepositoryName, newPullRequest); // create new commit for branch const string commitMessage = "Another commit in branch"; var branch = await _github.Git.Reference.Get(Helper.UserName, _context.RepositoryName, "heads/" + branchName); var newTree = await CreateTree(new Dictionary <string, string> { { "README.md", "Hello World!" } }); var newCommit = await CreateCommit(commitMessage, newTree.Sha, branch.Object.Sha); await _github.Git.Reference.Update(Helper.UserName, _context.RepositoryName, "heads/" + branchName, new ReferenceUpdate(newCommit.Sha)); await _repositoryCommentsClient.Create(Helper.UserName, _context.RepositoryName, newCommit.Sha, new NewCommitComment("I am a nice comment") { Path = "README.md", Position = 1 }); // don't try this at home await Task.Delay(TimeSpan.FromSeconds(5)); var result = await _fixture.Commits(Helper.UserName, _context.RepositoryName, pullRequest.Number); Assert.Equal(3, result.Count); Assert.Equal("this is the commit to merge into the pull request", result[0].Commit.Message); Assert.Equal(0, result[0].Commit.CommentCount); Assert.Equal(commitMessage, result[2].Commit.Message); Assert.Equal(1, result[2].Commit.CommentCount); }
/// <summary> /// Creates a new Commit Comment for a specified Commit. /// </summary> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="sha">The sha reference of commit</param> /// <param name="newCommitComment">The new comment to add to the commit</param> /// <remarks>http://developer.github.com/v3/repos/comments/#create-a-commit-comment</remarks> public IObservable <CommitComment> Create(string owner, string name, string sha, NewCommitComment newCommitComment) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNullOrEmptyString(sha, "sha"); Ensure.ArgumentNotNull(newCommitComment, "newCommitComment"); return(_client.Create(owner, name, sha, newCommitComment).ToObservable()); }