feat: backend core - auth, user, role, permission, device, webhook, monitoring, cache, repository, service, middleware, API handlers
This commit is contained in:
81
internal/domain/user_test.go
Normal file
81
internal/domain/user_test.go
Normal file
@@ -0,0 +1,81 @@
|
||||
package domain
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
// TestUserModel 测试User模型基本属性
|
||||
func TestUserModel(t *testing.T) {
|
||||
u := &User{
|
||||
Username: "testuser",
|
||||
Email: StrPtr("test@example.com"),
|
||||
Phone: StrPtr("13800138000"),
|
||||
Password: "hashedpassword",
|
||||
Status: UserStatusActive,
|
||||
Gender: GenderMale,
|
||||
CreatedAt: time.Now(),
|
||||
}
|
||||
if u.Username != "testuser" {
|
||||
t.Errorf("Username = %v, want testuser", u.Username)
|
||||
}
|
||||
if u.Status != UserStatusActive {
|
||||
t.Errorf("Status = %v, want %v", u.Status, UserStatusActive)
|
||||
}
|
||||
}
|
||||
|
||||
// TestUserTableName 测试User表名
|
||||
func TestUserTableName(t *testing.T) {
|
||||
u := User{}
|
||||
if u.TableName() != "users" {
|
||||
t.Errorf("TableName() = %v, want users", u.TableName())
|
||||
}
|
||||
}
|
||||
|
||||
// TestUserStatusConstants 测试用户状态常量值
|
||||
func TestUserStatusConstants(t *testing.T) {
|
||||
cases := []struct {
|
||||
status UserStatus
|
||||
value int
|
||||
}{
|
||||
{UserStatusInactive, 0},
|
||||
{UserStatusActive, 1},
|
||||
{UserStatusLocked, 2},
|
||||
{UserStatusDisabled, 3},
|
||||
}
|
||||
for _, c := range cases {
|
||||
if int(c.status) != c.value {
|
||||
t.Errorf("UserStatus = %d, want %d", c.status, c.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestGenderConstants 测试性别常量
|
||||
func TestGenderConstants(t *testing.T) {
|
||||
if int(GenderUnknown) != 0 {
|
||||
t.Errorf("GenderUnknown = %d, want 0", GenderUnknown)
|
||||
}
|
||||
if int(GenderMale) != 1 {
|
||||
t.Errorf("GenderMale = %d, want 1", GenderMale)
|
||||
}
|
||||
if int(GenderFemale) != 2 {
|
||||
t.Errorf("GenderFemale = %d, want 2", GenderFemale)
|
||||
}
|
||||
}
|
||||
|
||||
// TestUserActiveCheck 测试用户激活状态检查
|
||||
func TestUserActiveCheck(t *testing.T) {
|
||||
active := &User{Status: UserStatusActive}
|
||||
inactive := &User{Status: UserStatusInactive}
|
||||
locked := &User{Status: UserStatusLocked}
|
||||
disabled := &User{Status: UserStatusDisabled}
|
||||
|
||||
if active.Status != UserStatusActive {
|
||||
t.Error("active用户应为Active状态")
|
||||
}
|
||||
if inactive.Status == UserStatusActive {
|
||||
t.Error("inactive用户不应为Active状态")
|
||||
}
|
||||
_ = locked
|
||||
_ = disabled
|
||||
}
|
||||
Reference in New Issue
Block a user