chore: add delete old auth token unit test

Also make use of subtests to make reading this test a tad easier.
This commit is contained in:
Gusted 2025-08-25 02:39:35 +02:00 committed by Earl Warren
commit d2a6e2362a
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
2 changed files with 30 additions and 15 deletions

View file

@ -0,0 +1,5 @@
-
id: 1001
uid: 10
lookup_key: unique
purpose: user_activation

View file

@ -6,6 +6,7 @@ package user
import ( import (
"testing" "testing"
auth_model "forgejo.org/models/auth"
"forgejo.org/models/db" "forgejo.org/models/db"
organization_model "forgejo.org/models/organization" organization_model "forgejo.org/models/organization"
"forgejo.org/models/unittest" "forgejo.org/models/unittest"
@ -123,25 +124,34 @@ func TestAddEmailAddresses(t *testing.T) {
} }
func TestReplaceInactivePrimaryEmail(t *testing.T) { func TestReplaceInactivePrimaryEmail(t *testing.T) {
defer unittest.OverrideFixtures("services/user/TestReplaceInactivePrimaryEmail/")()
require.NoError(t, unittest.PrepareTestDatabase()) require.NoError(t, unittest.PrepareTestDatabase())
email := &user_model.EmailAddress{ t.Run("User doesn't exist", func(t *testing.T) {
Email: "user9999999@example.com", email := &user_model.EmailAddress{
UID: 9999999, Email: "user9999999@example.com",
} UID: 9999999,
err := ReplaceInactivePrimaryEmail(db.DefaultContext, "user10@example.com", email) }
require.Error(t, err) err := ReplaceInactivePrimaryEmail(db.DefaultContext, "user10@example.com", email)
assert.True(t, user_model.IsErrUserNotExist(err)) require.Error(t, err)
assert.True(t, user_model.IsErrUserNotExist(err))
})
email = &user_model.EmailAddress{ t.Run("Normal", func(t *testing.T) {
Email: "user201@example.com", unittest.AssertExistsIf(t, true, &auth_model.AuthorizationToken{UID: 10})
UID: 10,
}
err = ReplaceInactivePrimaryEmail(db.DefaultContext, "user10@example.com", email)
require.NoError(t, err)
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 10}) email := &user_model.EmailAddress{
assert.Equal(t, "user201@example.com", user.Email) Email: "user201@example.com",
UID: 10,
}
err := ReplaceInactivePrimaryEmail(db.DefaultContext, "user10@example.com", email)
require.NoError(t, err)
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 10})
assert.Equal(t, "user201@example.com", user.Email)
unittest.AssertExistsIf(t, false, &auth_model.AuthorizationToken{UID: 10})
})
} }
func TestDeleteEmailAddresses(t *testing.T) { func TestDeleteEmailAddresses(t *testing.T) {