diff --git a/templates/org/home.tmpl b/templates/org/home.tmpl index 3ae5f01d04..a4fafc3432 100644 --- a/templates/org/home.tmpl +++ b/templates/org/home.tmpl @@ -23,7 +23,7 @@ {{if .CanCreateOrgRepo}}
{{ctx.Locale.Tr "new_repo.link"}} - {{if not .DisableNewPullMirrors}} + {{if not .DisableMigrations}} {{ctx.Locale.Tr "new_migrate.link"}} {{end}}
diff --git a/tests/integration/org_test.go b/tests/integration/org_test.go index 74579d7d51..eabfe11dcd 100644 --- a/tests/integration/org_test.go +++ b/tests/integration/org_test.go @@ -15,7 +15,9 @@ import ( "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/models/unittest" user_model "code.gitea.io/gitea/models/user" + "code.gitea.io/gitea/modules/setting" api "code.gitea.io/gitea/modules/structs" + "code.gitea.io/gitea/modules/test" "code.gitea.io/gitea/tests" "github.com/stretchr/testify/assert" @@ -266,3 +268,32 @@ func TestOwnerTeamUnit(t *testing.T) { unittest.AssertExistsAndLoadBean(t, &organization.TeamUnit{TeamID: 1, Type: unit.TypeIssues, AccessMode: perm.AccessModeOwner}) } + +func TestOrgNewMigrationButton(t *testing.T) { + defer tests.PrepareTestEnv(t)() + + migrateSelector := `a[href^="/repo/migrate?org="]` + + session := loginUser(t, "user2") + t.Run("Migration disabled", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() + defer test.MockVariableValue(&setting.Repository.DisableMigrations, true)() + + req := NewRequest(t, "GET", "/org3") + resp := session.MakeRequest(t, req, http.StatusOK) + htmlDoc := NewHTMLParser(t, resp.Body) + + htmlDoc.AssertElement(t, migrateSelector, false) + }) + + t.Run("Migration enabled", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() + defer test.MockVariableValue(&setting.Repository.DisableMigrations, false)() + + req := NewRequest(t, "GET", "/org3") + resp := session.MakeRequest(t, req, http.StatusOK) + htmlDoc := NewHTMLParser(t, resp.Body) + + htmlDoc.AssertElement(t, migrateSelector, true) + }) +}