package models import ( "testing" "github.com/stretchr/testify/assert" ) func TestUser_GetFullName(t *testing.T) { tests := []struct { name string user User expected string }{ { name: "first and last name", user: User{FirstName: "John", LastName: "Doe", Username: "johndoe"}, expected: "John Doe", }, { name: "first name only", user: User{FirstName: "John", LastName: "", Username: "johndoe"}, expected: "John", }, { name: "username fallback", user: User{FirstName: "", LastName: "", Username: "johndoe"}, expected: "johndoe", }, { name: "last name only returns username", user: User{FirstName: "", LastName: "Doe", Username: "johndoe"}, expected: "johndoe", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { result := tt.user.GetFullName() assert.Equal(t, tt.expected, result) }) } } func TestUser_TableName(t *testing.T) { user := User{} assert.Equal(t, "auth_user", user.TableName()) } func TestUserProfile_TableName(t *testing.T) { profile := UserProfile{} assert.Equal(t, "user_userprofile", profile.TableName()) }