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