Files
ai_site/platform/internal/userstore/phone_test.go
2026-07-31 10:31:17 +08:00

39 lines
958 B
Go

package userstore
import "testing"
func TestNormalizePhone(t *testing.T) {
ok, err := NormalizePhone("+86 138-0013-8000")
if err != nil || ok != "13800138000" {
t.Fatalf("got %q %v", ok, err)
}
if _, err := NormalizePhone("12345"); err == nil {
t.Fatal("expected error")
}
if !LooksLikePhone("13912345678") {
t.Fatal("should look like phone")
}
}
func TestLoginByPhone(t *testing.T) {
s := NewMemoryStore()
ten, err := s.CreateTenant(nil, "测", "ph")
if err != nil {
t.Fatal(err)
}
u, plain, err := s.CreateMember(nil, ten.TenantID, "abcdefgxyz", "pass1234", "测", "管理员", 0)
if err != nil {
t.Fatal(err)
}
if _, err := s.BindPhone(nil, u.UserID, "13900001111"); err != nil {
t.Fatal(err)
}
got, err := s.Login(nil, "13900001111", plain)
if err != nil || got.Username != "abcdefgxyz" {
t.Fatalf("login by phone: %v %#v", err, got)
}
if _, err := s.Login(nil, "abcdefgxyz", plain); err != nil {
t.Fatal(err)
}
}