diff --git a/services/pull/merge_test.go b/services/pull/merge_test.go index 6df6f55d46115..219511b6c7207 100644 --- a/services/pull/merge_test.go +++ b/services/pull/merge_test.go @@ -6,6 +6,13 @@ package pull import ( "testing" + "code.gitea.io/gitea/models/db" + issues_model "code.gitea.io/gitea/models/issues" + "code.gitea.io/gitea/models/perm/access" + repo_model "code.gitea.io/gitea/models/repo" + "code.gitea.io/gitea/models/unittest" + "code.gitea.io/gitea/models/user" + "github.com/stretchr/testify/assert" ) @@ -65,3 +72,16 @@ func Test_expandDefaultMergeMessage(t *testing.T) { }) } } + +func Test_IsUserAllowedToMerge(t *testing.T) { + assert.NoError(t, unittest.PrepareTestDatabase()) + pr := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{ID: 2}) + repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: pr.BaseRepoID}) + + perm, err := access.GetUserRepoPermission(db.DefaultContext, repo, user.NewActionsUser()) + assert.NoError(t, err) + + allowed, err := IsUserAllowedToMerge(db.DefaultContext, pr, perm, user.NewActionsUser()) + assert.NoError(t, err) + assert.False(t, allowed) +}