check stale reviews

This commit is contained in:
Adam Majer 2025-02-18 18:14:17 +01:00
parent 334fe5553e
commit 9236fa3ff1

View File

@ -284,6 +284,50 @@ func TestPRAssignReviewers(t *testing.T) {
},
expectedReviewerCall: [2][]string{{"user1", "autogits_obs_staging_bot"}, {}},
},
{
name: "Reviews are done",
config: common.AutogitConfig{
GitProjectName: "repo",
Organization: "org",
Branch: "main",
Reviewers: []string{"-user1", "user2"},
},
pkgReviews: []*models.PullReview{{State: common.ReviewStateApproved, User: &models.User{UserName: "user2"}}},
prjReviews: []*models.PullReview{
{
State: common.ReviewStateRequestChanges,
User: &models.User{UserName: "user1"},
},
{
State: common.ReviewStateRequestReview,
User: &models.User{UserName: "autogits_obs_staging_bot"},
},
},
expectedReviewerCall: [2][]string{{}, {}},
},
{
name: "Stale review is not done, re-request it",
config: common.AutogitConfig{
GitProjectName: "repo",
Organization: "org",
Branch: "main",
Reviewers: []string{"-user1", "user2"},
},
pkgReviews: []*models.PullReview{{State: common.ReviewStateApproved, User: &models.User{UserName: "user2"}}},
prjReviews: []*models.PullReview{
{
State: common.ReviewStateRequestChanges,
User: &models.User{UserName: "user1"},
Stale: true,
},
{
State: common.ReviewStateRequestReview,
Stale: true,
User: &models.User{UserName: "autogits_obs_staging_bot"},
},
},
expectedReviewerCall: [2][]string{{"user1", "autogits_obs_staging_bot"}, {}},
},
}
for _, test := range tests {
@ -301,7 +345,7 @@ func TestPRAssignReviewers(t *testing.T) {
Head: &models.PRBranchInfo{},
Index: 1,
}, nil)
review_mock.EXPECT().GetPullRequestReviews("other", "pkgrepo", int64(1)).Return([]*models.PullReview{}, nil)
review_mock.EXPECT().GetPullRequestReviews("other", "pkgrepo", int64(1)).Return(test.pkgReviews, nil)
pr_mock.EXPECT().GetAssociatedPrjGitPR("org", "repo", "other", "pkgrepo", int64(1)).Return(&models.PullRequest{
Body: fmt.Sprintf(common.PrPattern, "other", "pkgrepo", 1),
User: &models.User{UserName: "bot1"},
@ -310,7 +354,7 @@ func TestPRAssignReviewers(t *testing.T) {
Head: &models.PRBranchInfo{},
Index: 42,
}, nil)
review_mock.EXPECT().GetPullRequestReviews("org", "repo", int64(42)).Return([]*models.PullReview{}, nil)
review_mock.EXPECT().GetPullRequestReviews("org", "repo", int64(42)).Return(test.prjReviews, nil)
prs, _ := FetchPRSet(pr_mock, "other", "pkgrepo", int64(1), &test.config)
if len(prs.prs) != 2 {