tests(services/mailer): refactor mail_admin_new_user_test

* use MockVariableValue where appropriate
* split the tests in two with t.Run for clarity
This commit is contained in:
Earl Warren 2024-05-17 16:45:41 +02:00
parent 45a41811de
commit 23bbec4459
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
3 changed files with 61 additions and 49 deletions

View file

@ -4,13 +4,45 @@
package mailer
import (
"context"
"testing"
"code.gitea.io/gitea/models/unittest"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/templates"
"code.gitea.io/gitea/modules/test"
"code.gitea.io/gitea/modules/translation"
_ "code.gitea.io/gitea/models/actions"
"github.com/stretchr/testify/assert"
)
func TestMain(m *testing.M) {
unittest.MainTest(m)
}
func assertTranslatedLocale(t *testing.T, message string, prefixes ...string) {
t.Helper()
for _, prefix := range prefixes {
assert.NotContains(t, message, prefix, "there is an untranslated locale prefix")
}
}
func mockMailSettings(send func(msgs ...*Message)) func() {
translation.InitLocales(context.Background())
subjectTemplates, bodyTemplates = templates.Mailer(context.Background())
mailService := setting.Mailer{
From: "test@gitea.com",
}
cleanups := []func(){
test.MockVariableValue(&setting.MailService, &mailService),
test.MockVariableValue(&setting.Domain, "localhost"),
test.MockVariableValue(&SendAsync, send),
}
return func() {
for _, cleanup := range cleanups {
cleanup()
}
}
}