2026-06-11 01:02:20 +08:00

85 lines
2.2 KiB
Go

package user
import "testing"
func TestValidDisplayUserIDAllowsFiveDigitSeedAccounts(t *testing.T) {
t.Parallel()
valid := []string{"10001", "99999", "123456", "12345678901"}
for _, value := range valid {
if !ValidDisplayUserID(value) {
t.Fatalf("display_user_id %s should be valid", value)
}
}
invalid := []string{"", "09999", "9999", "123456789012", "12a45"}
for _, value := range invalid {
if ValidDisplayUserID(value) {
t.Fatalf("display_user_id %s should be invalid", value)
}
}
}
func TestValidResolvableDisplayUserIDAllowsDefaultAndPrettyIDs(t *testing.T) {
t.Parallel()
valid := []string{"10001", "123456", "1111cc1111", "VIP2026", "ملك123", "Cafe\u0301123"}
for _, value := range valid {
if !ValidResolvableDisplayUserID(value) {
t.Fatalf("resolvable display_user_id %q should be valid", value)
}
}
invalid := []string{"", " ", "VIP-2026", "VIP 2026", "VIP😀", "\nVIP", "VIP!"}
for _, value := range invalid {
if ValidResolvableDisplayUserID(value) {
t.Fatalf("resolvable display_user_id %q should be invalid", value)
}
}
}
func TestValidAdminPrettyDisplayUserID(t *testing.T) {
t.Parallel()
valid := []string{"VIP2026", "ملك123", "Cafe\u0301123"}
for _, value := range valid {
if !ValidAdminPrettyDisplayUserID(value) {
t.Fatalf("admin pretty display_user_id %q should be valid", value)
}
}
invalid := []string{"", " ", "VIP-2026", "VIP 2026", "VIP😀", "\nVIP", "VIP!"}
for _, value := range invalid {
if ValidAdminPrettyDisplayUserID(value) {
t.Fatalf("admin pretty display_user_id %q should be invalid", value)
}
}
}
func TestValidPrettyDisplayIDRuleType(t *testing.T) {
t.Parallel()
valid := []string{
PrettyDisplayIDRuleAABBCC,
PrettyDisplayIDRuleAAAA,
PrettyDisplayIDRuleABAB,
PrettyDisplayIDRuleABCDEF,
PrettyDisplayIDRuleFEDCBA,
PrettyDisplayIDRuleDateYYYYMMDD,
PrettyDisplayIDRuleLove,
PrettyDisplayIDRuleCustomValues,
PrettyDisplayIDRuleCustomPattern,
}
for _, ruleType := range valid {
if !ValidPrettyDisplayIDRuleType(ruleType) {
t.Fatalf("rule_type %s should be valid", ruleType)
}
}
for _, ruleType := range []string{"", "random", "aabbccddxx"} {
if ValidPrettyDisplayIDRuleType(ruleType) {
t.Fatalf("rule_type %s should be invalid", ruleType)
}
}
}