summaryrefslogtreecommitdiffstats
path: root/models/repo_test.go
diff options
context:
space:
mode:
authorNorwin <noerw@users.noreply.github.com>2022-03-08 22:48:47 +0100
committerGitHub <noreply@github.com>2022-03-08 22:48:47 +0100
commiteceab9e26f671318d3b50e622736a514f384aee6 (patch)
treeac83f24a8114aaef59e0ef225f4a2bfccbb8b179 /models/repo_test.go
parente73c5fd698a8979a015c43625941aa82ac7a8bf9 (diff)
downloadgitea-eceab9e26f671318d3b50e622736a514f384aee6.tar.gz
gitea-eceab9e26f671318d3b50e622736a514f384aee6.zip
Allow users to self-request a PR review (#19030)
The review request feature was added in https://github.com/go-gitea/gitea/pull/10756, where the doer got explicitly excluded from available reviewers. I don't see a functionality or security related reason to forbid this case. As shown by GitHubs implementation, it may be useful to self-request a review, to be reminded oneselves about reviewing, while communicating to team mates that a review is missing. Co-authored-by: delvh <dev.lh@web.de>
Diffstat (limited to 'models/repo_test.go')
-rw-r--r--models/repo_test.go29
1 files changed, 26 insertions, 3 deletions
diff --git a/models/repo_test.go b/models/repo_test.go
index ea250be976..a93d84b81b 100644
--- a/models/repo_test.go
+++ b/models/repo_test.go
@@ -120,11 +120,34 @@ func TestRepoGetReviewers(t *testing.T) {
assert.NoError(t, err)
assert.Len(t, reviewers, 4)
- // test private repo
+ // should include doer if doer is not PR poster.
+ reviewers, err = GetReviewers(repo1, 11, 2)
+ assert.NoError(t, err)
+ assert.Len(t, reviewers, 4)
+
+ // should not include PR poster, if PR poster would be otherwise eligible
+ reviewers, err = GetReviewers(repo1, 11, 4)
+ assert.NoError(t, err)
+ assert.Len(t, reviewers, 3)
+
+ // test private user repo
repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2}).(*repo_model.Repository)
- reviewers, err = GetReviewers(repo2, 2, 2)
+
+ reviewers, err = GetReviewers(repo2, 2, 4)
+ assert.NoError(t, err)
+ assert.Len(t, reviewers, 1)
+ assert.EqualValues(t, reviewers[0].ID, 2)
+
+ // test private org repo
+ repo3 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 3}).(*repo_model.Repository)
+
+ reviewers, err = GetReviewers(repo3, 2, 1)
+ assert.NoError(t, err)
+ assert.Len(t, reviewers, 2)
+
+ reviewers, err = GetReviewers(repo3, 2, 2)
assert.NoError(t, err)
- assert.Empty(t, reviewers)
+ assert.Len(t, reviewers, 1)
}
func TestRepoGetReviewerTeams(t *testing.T) {