forgery: refactor repo_settings_test

This commit is contained in:
oliverpool 2026-05-13 21:04:59 +02:00
parent daf93a2996
commit 7c2300fb62

View file

@ -14,13 +14,13 @@ import (
unit_model "forgejo.org/models/unit"
unit_tests "forgejo.org/models/unit/tests"
"forgejo.org/models/unittest"
user_model "forgejo.org/models/user"
"forgejo.org/modules/optional"
"forgejo.org/modules/setting"
app_context "forgejo.org/services/context"
repo_service "forgejo.org/services/repository"
user_service "forgejo.org/services/user"
"forgejo.org/tests"
"forgejo.org/tests/forgery"
"github.com/PuerkitoBio/goquery"
"github.com/stretchr/testify/assert"
@ -29,9 +29,8 @@ import (
func TestRepoSettingsUnits(t *testing.T) {
defer tests.PrepareTestEnv(t)()
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "user2"})
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerID: user.ID, Name: "repo1"})
session := loginUser(t, user.Name)
repo := forgery.CreateRepository(t, nil, nil)
session := loginUser(t, repo.Owner.Name)
req := NewRequest(t, "GET", fmt.Sprintf("%s/settings/units", repo.Link()))
session.MakeRequest(t, req, http.StatusOK)
@ -40,11 +39,14 @@ func TestRepoSettingsUnits(t *testing.T) {
func TestRepoSettingsAdminOptions(t *testing.T) {
defer tests.PrepareTestEnv(t)()
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "user2"})
admin := unittest.AssertExistsAndLoadBean(t, &user_model.User{IsAdmin: true})
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerID: user.ID, Name: "repo1"})
user := forgery.CreateUser(t, nil)
repo := forgery.CreateRepository(t, user, nil)
link := repo.Link()
admin := forgery.CreateUser(t, &forgery.CreateUserOptions{
IsAdmin: true,
})
hasAdminOpts := func(t *testing.T, doer string, admin bool) {
session := loginUser(t, doer)
@ -80,7 +82,7 @@ func TestRepoSettingsAdminOptions(t *testing.T) {
func TestRepoAddMoreUnitsHighlighting(t *testing.T) {
defer tests.PrepareTestEnv(t)()
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "user2"})
user := forgery.CreateUser(t, nil)
session := loginUser(t, user.Name)
// Make sure there are no disabled repos in the settings!
@ -88,15 +90,16 @@ func TestRepoAddMoreUnitsHighlighting(t *testing.T) {
unit_model.LoadUnitConfig()
// Create a known-good repo, with some units disabled.
repo, _, f := tests.CreateDeclarativeRepo(t, user, "", []unit_model.Type{
repo := forgery.CreateRepository(t, user, nil)
forgery.EnableRepoUnits(t, repo,
unit_model.TypeCode,
unit_model.TypePullRequests,
unit_model.TypeProjects,
unit_model.TypeActions,
unit_model.TypeIssues,
unit_model.TypeWiki,
}, []unit_model.Type{unit_model.TypePackages}, nil)
defer f()
)
forgery.DisableRepoUnits(t, repo, unit_model.TypePackages)
setUserHints := func(t *testing.T, hints bool) func() {
saved := user.EnableRepoUnitHints
@ -171,7 +174,7 @@ func TestRepoAddMoreUnitsHighlighting(t *testing.T) {
func TestRepoAddMoreUnits(t *testing.T) {
defer tests.PrepareTestEnv(t)()
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{Name: "user2"})
user := forgery.CreateUser(t, nil)
session := loginUser(t, user.Name)
// Make sure there are no disabled repos in the settings!
@ -179,7 +182,8 @@ func TestRepoAddMoreUnits(t *testing.T) {
unit_model.LoadUnitConfig()
// Create a known-good repo, with all units enabled.
repo, _, f := tests.CreateDeclarativeRepo(t, user, "", []unit_model.Type{
repo := forgery.CreateRepository(t, user, nil)
forgery.EnableRepoUnits(t, repo,
unit_model.TypeCode,
unit_model.TypePullRequests,
unit_model.TypeProjects,
@ -187,8 +191,7 @@ func TestRepoAddMoreUnits(t *testing.T) {
unit_model.TypeActions,
unit_model.TypeIssues,
unit_model.TypeWiki,
}, nil, nil)
defer f()
)
assertAddMore := func(t *testing.T, present bool) {
t.Helper()
@ -268,8 +271,10 @@ func TestRepoAddMoreUnits(t *testing.T) {
func TestProtectedBranch(t *testing.T) {
defer tests.PrepareTestEnv(t)()
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1, OwnerID: user.ID})
user := forgery.CreateUser(t, nil)
repo := forgery.CreateRepository(t, user, &forgery.CreateRepositoryOptions{
Files: forgery.FilesInit{},
})
session := loginUser(t, user.Name)
t.Run("Add", func(t *testing.T) {