mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	New webhook trigger for receiving Pull Request review requests (#24481)
close https://github.com/go-gitea/gitea/issues/16321 Provided a webhook trigger for requesting someone to review the Pull Request. Some modifications have been made to the returned `PullRequestPayload` based on the GitHub webhook settings, including: - add a description of the current reviewer object as `RequestedReviewer` . - setting the action to either **review_requested** or **review_request_removed** based on the operation. - adding the `RequestedReviewers` field to the issues_model.PullRequest. This field will be loaded into the PullRequest through `LoadRequestedReviewers()` when `ToAPIPullRequest` is called. After the Pull Request is merged, I will supplement the relevant documentation.
This commit is contained in:
		| @@ -9,6 +9,7 @@ import ( | ||||
| 	"code.gitea.io/gitea/models/db" | ||||
| 	issues_model "code.gitea.io/gitea/models/issues" | ||||
| 	"code.gitea.io/gitea/models/unittest" | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
|  | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| ) | ||||
| @@ -74,6 +75,34 @@ func TestPullRequestsNewest(t *testing.T) { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func TestLoadRequestedReviewers(t *testing.T) { | ||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||
|  | ||||
| 	pull := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{ID: 1}) | ||||
| 	assert.NoError(t, pull.LoadIssue(db.DefaultContext)) | ||||
| 	issue := pull.Issue | ||||
| 	assert.NoError(t, issue.LoadRepo(db.DefaultContext)) | ||||
| 	assert.Len(t, pull.RequestedReviewers, 0) | ||||
|  | ||||
| 	user1, err := user_model.GetUserByID(db.DefaultContext, 1) | ||||
| 	assert.NoError(t, err) | ||||
|  | ||||
| 	comment, err := issues_model.AddReviewRequest(issue, user1, &user_model.User{}) | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.NotNil(t, comment) | ||||
|  | ||||
| 	assert.NoError(t, pull.LoadRequestedReviewers(db.DefaultContext)) | ||||
| 	assert.Len(t, pull.RequestedReviewers, 1) | ||||
|  | ||||
| 	comment, err = issues_model.RemoveReviewRequest(issue, user1, &user_model.User{}) | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.NotNil(t, comment) | ||||
|  | ||||
| 	pull.RequestedReviewers = nil | ||||
| 	assert.NoError(t, pull.LoadRequestedReviewers(db.DefaultContext)) | ||||
| 	assert.Empty(t, pull.RequestedReviewers) | ||||
| } | ||||
|  | ||||
| func TestPullRequestsOldest(t *testing.T) { | ||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||
| 	prs, count, err := issues_model.PullRequests(1, &issues_model.PullRequestsOptions{ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user