Skip to content

Commit 89a06d6

Browse files
committed
Add test
1 parent a5a556a commit 89a06d6

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// Copyright 2024 The Gitea Authors. All rights reserved.
2+
// SPDX-License-Identifier: MIT
3+
4+
package integration
5+
6+
import (
7+
"net/url"
8+
"testing"
9+
10+
"code.gitea.io/gitea/models/db"
11+
issues_model "code.gitea.io/gitea/models/issues"
12+
repo_model "code.gitea.io/gitea/models/repo"
13+
"code.gitea.io/gitea/models/unittest"
14+
user_model "code.gitea.io/gitea/models/user"
15+
pull_service "code.gitea.io/gitea/services/pull"
16+
17+
"github.com/stretchr/testify/assert"
18+
)
19+
20+
func TestPullAllowMaintainerEdit(t *testing.T) {
21+
onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
22+
// create a pull request
23+
session := loginUser(t, "user1")
24+
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
25+
forkedName := "repo1"
26+
testRepoFork(t, session, "org3", "repo5", "user1", forkedName)
27+
defer func() {
28+
testDeleteRepository(t, session, "user1", forkedName)
29+
}()
30+
testEditFile(t, session, "user1", forkedName, "master", "README.md", "Hello, World (Edited)\n")
31+
testPullCreate(t, session, "user1", forkedName, false, "master", "master", "Indexer notifier test pull")
32+
33+
baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "org3", Name: "repo5"})
34+
forkedRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user1", Name: forkedName})
35+
pr := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{
36+
BaseRepoID: baseRepo.ID,
37+
BaseBranch: "master",
38+
HeadRepoID: forkedRepo.ID,
39+
HeadBranch: "master",
40+
})
41+
assert.False(t, pr.AllowMaintainerEdit)
42+
assert.NoError(t, pr.LoadIssue(db.DefaultContext))
43+
44+
// allow org3's member to edit the branch's files
45+
err := pull_service.SetAllowEdits(db.DefaultContext, user1, pr, true)
46+
assert.NoError(t, err)
47+
48+
// user2 is in org3 team
49+
session = loginUser(t, "user2")
50+
testEditFile(t, session, "user1", forkedName, "master", "README.md", "Hello, World (Edited)\n")
51+
})
52+
}

0 commit comments

Comments
 (0)