39 lines
958 B
Go
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)
|
|
}
|
|
}
|