diff --git a/tests/e2e/declare_repos_test.go b/tests/e2e/declare_repos_test.go index 9296f81bfc..7a49956a36 100644 --- a/tests/e2e/declare_repos_test.go +++ b/tests/e2e/declare_repos_test.go @@ -187,8 +187,10 @@ func newRepo(t *testing.T, userID int64, repoName string, enabledUnits map[unit_ Files: forgery.FilesInit{}, }) if len(enabledUnits) == 0 { - forgery.EnableRepoUnit(t, somerepo, unit_model.TypeCode, nil) - forgery.EnableRepoUnit(t, somerepo, unit_model.TypeIssues, nil) + forgery.EnableRepoUnits(t, somerepo, + unit_model.TypeCode, + unit_model.TypeIssues, + ) } for unit, config := range enabledUnits { forgery.EnableRepoUnit(t, somerepo, unit, config) diff --git a/tests/forgery/repo.go b/tests/forgery/repo.go index 328ecaa63d..d66eec4dfe 100644 --- a/tests/forgery/repo.go +++ b/tests/forgery/repo.go @@ -118,7 +118,6 @@ func InitWiki(t testing.TB, repo *repo_model.Repository, branch string) { require.NoError(t, err) } -// config may be nil func EnableRepoUnit(t testing.TB, repo *repo_model.Repository, unit unit_model.Type, config convert.Conversion) { t.Helper() @@ -130,6 +129,36 @@ func EnableRepoUnit(t testing.TB, repo *repo_model.Repository, unit unit_model.T require.NoError(t, err) } +// to specify a non-default config, call [EnableRepoUnit] instead +func EnableRepoUnits(t testing.TB, repo *repo_model.Repository, units ...unit_model.Type) { + t.Helper() + + ru := make([]repo_model.RepoUnit, 0, len(units)) + for _, u := range units { + var config convert.Conversion + if u == unit_model.TypePullRequests { // pull request config is needed (otherwise no merge allowed by default) + config = &repo_model.PullRequestsConfig{ + AllowMerge: true, + AllowRebase: true, + AllowRebaseMerge: true, + AllowSquash: true, + AllowFastForwardOnly: true, + AllowManualMerge: true, + AllowRebaseUpdate: true, + DefaultMergeStyle: repo_model.MergeStyleMerge, + DefaultUpdateStyle: repo_model.UpdateStyleMerge, + } + } + ru = append(ru, repo_model.RepoUnit{ + RepoID: repo.ID, + Type: u, + Config: config, + }) + } + err := repo_service.UpdateRepositoryUnits(t.Context(), repo, ru, nil) + require.NoError(t, err) +} + func DisableRepoUnits(t testing.TB, repo *repo_model.Repository, units ...unit_model.Type) { t.Helper() diff --git a/tests/integration/actions_token_metadata_test.go b/tests/integration/actions_token_metadata_test.go index 3ca697c7ca..dbbfe7532b 100644 --- a/tests/integration/actions_token_metadata_test.go +++ b/tests/integration/actions_token_metadata_test.go @@ -48,7 +48,7 @@ func TestActionGetTokenMetadata(t *testing.T) { ), }, }) - forgery.EnableRepoUnit(t, repo, unit_model.TypeActions, nil) + forgery.EnableRepoUnits(t, repo, unit_model.TypeActions) gitRepo, err := gitrepo.OpenRepository(db.DefaultContext, repo) require.NoError(t, err) diff --git a/tests/integration/wiki_test.go b/tests/integration/wiki_test.go index efccd20ef8..c6f39accf1 100644 --- a/tests/integration/wiki_test.go +++ b/tests/integration/wiki_test.go @@ -98,7 +98,7 @@ func doRepoWikiGitOperation(t *testing.T, serverURL *url.URL, method RepoWikiMet privateRepo := forgery.CreateRepository(t, user2, &forgery.CreateRepositoryOptions{ IsPrivate: true, }) - forgery.EnableRepoUnit(t, privateRepo, unit_model.TypeWiki, nil) + forgery.EnableRepoUnits(t, privateRepo, unit_model.TypeWiki) session := loginUser(t, user2.LoginName) token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository)