Add Un-/DismissPullReview funcs (#489)
close #487 Reviewed-on: https://gitea.com/gitea/go-sdk/pulls/489 Reviewed-by: Andrew Thornton <art27@cantab.net> Reviewed-by: John Olheiser <john.olheiser@gmail.com> Co-authored-by: 6543 <6543@obermui.de> Co-committed-by: 6543 <6543@obermui.de>
This commit is contained in:
parent
8947cd3b00
commit
95ed973c8d
2 changed files with 56 additions and 1 deletions
|
@ -97,6 +97,11 @@ type SubmitPullReviewOptions struct {
|
|||
Body string `json:"body"`
|
||||
}
|
||||
|
||||
// DismissPullReviewOptions are options to dismiss a pull review
|
||||
type DismissPullReviewOptions struct {
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
// ListPullReviewsOptions options for listing PullReviews
|
||||
type ListPullReviewsOptions struct {
|
||||
ListOptions
|
||||
|
@ -221,3 +226,31 @@ func (c *Client) SubmitPullReview(owner, repo string, index, id int64, opt Submi
|
|||
jsonHeader, bytes.NewReader(body), r)
|
||||
return r, resp, err
|
||||
}
|
||||
|
||||
// DismissPullReview dismiss a review for a pull request
|
||||
func (c *Client) DismissPullReview(owner, repo string, index, id int64, opt DismissPullReviewOptions) (*Response, error) {
|
||||
if err := c.checkServerVersionGreaterThanOrEqual(version1_14_0); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
body, err := json.Marshal(&opt)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, resp, err := c.getResponse("POST",
|
||||
fmt.Sprintf("/repos/%s/%s/pulls/%d/reviews/%d/dismissals", owner, repo, index, id),
|
||||
jsonHeader, bytes.NewReader(body))
|
||||
return resp, err
|
||||
}
|
||||
|
||||
// UnDismissPullReview cancel to dismiss a review for a pull request
|
||||
func (c *Client) UnDismissPullReview(owner, repo string, index, id int64) (*Response, error) {
|
||||
if err := c.checkServerVersionGreaterThanOrEqual(version1_14_0); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, resp, err := c.getResponse("POST",
|
||||
fmt.Sprintf("/repos/%s/%s/pulls/%d/reviews/%d/undismissals", owner, repo, index, id),
|
||||
jsonHeader, nil)
|
||||
return resp, err
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ func TestPullReview(t *testing.T) {
|
|||
|
||||
// SubmitPullReview
|
||||
c.SetSudo("")
|
||||
r4, _, err := c.CreatePullReview(repo.Owner.UserName, repo.Name, pull.Index, CreatePullReviewOptions{
|
||||
r4, resp, err := c.CreatePullReview(repo.Owner.UserName, repo.Name, pull.Index, CreatePullReviewOptions{
|
||||
Body: "...",
|
||||
Comments: []CreatePullReviewComment{{
|
||||
Path: "WOW-file",
|
||||
|
@ -99,6 +99,7 @@ func TestPullReview(t *testing.T) {
|
|||
},
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, resp)
|
||||
r5, _, err := c.CreatePullReview(repo.Owner.UserName, repo.Name, pull.Index, CreatePullReviewOptions{
|
||||
Body: "...",
|
||||
Comments: []CreatePullReviewComment{{
|
||||
|
@ -133,6 +134,27 @@ func TestPullReview(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
r, _, err = c.GetPullReview(repo.Owner.UserName, repo.Name, pull.Index, r.ID)
|
||||
assert.NoError(t, err)
|
||||
assert.False(t, r.Dismissed)
|
||||
|
||||
// DismissPullReview
|
||||
resp, err = c.DismissPullReview(repo.Owner.UserName, repo.Name, pull.Index, r.ID, DismissPullReviewOptions{Message: "stale"})
|
||||
assert.NoError(t, err)
|
||||
if assert.NotNil(t, resp) {
|
||||
assert.EqualValues(t, 200, resp.StatusCode)
|
||||
}
|
||||
r, _, _ = c.GetPullReview(repo.Owner.UserName, repo.Name, pull.Index, r.ID)
|
||||
assert.True(t, r.Dismissed)
|
||||
|
||||
// UnDismissPullReview
|
||||
resp, err = c.UnDismissPullReview(repo.Owner.UserName, repo.Name, pull.Index, r.ID)
|
||||
assert.NoError(t, err)
|
||||
if assert.NotNil(t, resp) {
|
||||
assert.EqualValues(t, 200, resp.StatusCode)
|
||||
}
|
||||
r, _, _ = c.GetPullReview(repo.Owner.UserName, repo.Name, pull.Index, r.ID)
|
||||
assert.False(t, r.Dismissed)
|
||||
}
|
||||
|
||||
func preparePullReviewTest(t *testing.T, c *Client, repoName string) (*Repository, *PullRequest, *User, *User, bool) {
|
||||
|
|
Loading…
Reference in a new issue