Files
base/core/record_model_auth_test.go
zeekay 6494b43123 core: drop password field + reset-token + MFA/OTP/AuthAlert config
Cascade from the model/field deletes:
  - FieldNamePassword + Record.SetPassword/SetRandomPassword/
    ValidatePassword gone; record_model.go skips password fields when
    deciding whether to refresh tokenKey on update; auth records no
    longer carry a system password field
  - Collection.initPasswordField + collection_validate's "needs system
    password field" assertion gone — the auth-collection bootstrap is
    now (id + tokenKey + email + emailVisibility + verified) only
  - collectionAuthOptions trimmed: PasswordAuth, MFA, OTP, AuthAlert,
    PasswordResetToken, ResetPasswordTemplate, OTPTemplate,
    AuthAlertTemplate, AuthAlertConfig all removed. The remaining
    surface is OAuth2 + AuthRule + ManageRule + Auth/EmailChange/
    Verification/FileToken + verification/email-change templates
  - Record.NewPasswordResetToken + TokenTypePasswordReset gone
  - tests + import/serialization snapshots updated to match
  - reservedAuthKeys ("passwordConfirm","oldPassword") gone; those
    names are now ordinary user-defined field names if a caller wants
    to use them
2026-05-15 03:19:02 -07:00

77 lines
1.7 KiB
Go

package core_test
import (
"testing"
"github.com/hanzoai/base/core"
)
func TestRecordEmail(t *testing.T) {
record := core.NewRecord(core.NewAuthCollection("test"))
if record.Email() != "" {
t.Fatalf("Expected email %q, got %q", "", record.Email())
}
email := "[email protected]"
record.SetEmail(email)
if record.Email() != email {
t.Fatalf("Expected email %q, got %q", email, record.Email())
}
}
func TestRecordEmailVisibility(t *testing.T) {
record := core.NewRecord(core.NewAuthCollection("test"))
if record.EmailVisibility() != false {
t.Fatalf("Expected emailVisibility %v, got %v", false, record.EmailVisibility())
}
record.SetEmailVisibility(true)
if record.EmailVisibility() != true {
t.Fatalf("Expected emailVisibility %v, got %v", true, record.EmailVisibility())
}
}
func TestRecordVerified(t *testing.T) {
record := core.NewRecord(core.NewAuthCollection("test"))
if record.Verified() != false {
t.Fatalf("Expected verified %v, got %v", false, record.Verified())
}
record.SetVerified(true)
if record.Verified() != true {
t.Fatalf("Expected verified %v, got %v", true, record.Verified())
}
}
func TestRecordTokenKey(t *testing.T) {
record := core.NewRecord(core.NewAuthCollection("test"))
if record.TokenKey() != "" {
t.Fatalf("Expected tokenKey %q, got %q", "", record.TokenKey())
}
tokenKey := "example"
record.SetTokenKey(tokenKey)
if record.TokenKey() != tokenKey {
t.Fatalf("Expected tokenKey %q, got %q", tokenKey, record.TokenKey())
}
record.RefreshTokenKey()
if record.TokenKey() == tokenKey {
t.Fatalf("Expected tokenKey to be random generated, got %q", tokenKey)
}
if len(record.TokenKey()) != 50 {
t.Fatalf("Expected %d characters, got %d", 50, len(record.TokenKey()))
}
}