/// <summary> /// Submits a pull request review. /// </summary> /// <remarks>https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="number">The pull request number</param> /// <param name="reviewId">The pull request review number</param> /// <param name="submitMessage">The message and event being submitted for the review</param> public IObservable <PullRequestReview> Submit(string owner, string name, int number, long reviewId, PullRequestReviewSubmit submitMessage) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(submitMessage, nameof(submitMessage)); return(_client.Submit(owner, name, number, reviewId, submitMessage).ToObservable()); }
public async Task CanSubmitCommentedReview() { using (var context = await _github.CreateRepositoryContext("test-repo")) { await _github.CreateTheWorld(context.Repository); var pullRequest = await _github2.CreatePullRequest(context.Repository); var createdReview = await _github.CreatePullRequestReview(context.Repository, pullRequest.Number, "A pending review"); var submitMessage = new PullRequestReviewSubmit { Body = "Roger roger!", Event = PullRequestReviewEvent.Comment }; var submittedReview = await _client.Submit(context.RepositoryOwner, context.RepositoryName, pullRequest.Number, createdReview.Id, submitMessage); Assert.Equal("Roger roger!", submittedReview.Body); Assert.Equal(PullRequestReviewState.Commented, submittedReview.State); } }