package testutil import ( "testing" "git.nakama.town/fmartingr/hako/internal/model" ) // NewTestUser creates a test user with the specified email and password // and returns the user and a JWT token for authentication func NewTestUser(t *testing.T, deps model.Dependencies, email, password string) (*model.User, string, error) { t.Helper() user, err := deps.Domains().Auth().CreateUser(email, password, "user") if err != nil { return nil, "", err } _, token, err := deps.Domains().Auth().Login(email, password) if err != nil { return nil, "", err } tokenString := token.Token return user, tokenString, nil } // NewDefaultTestUser creates a default test user with email "test@example.com" and password "test" func NewDefaultTestUser(t *testing.T, deps model.Dependencies) (*model.User, string, error) { t.Helper() return NewTestUser(t, deps, "test@example.com", "test") } // NewTestAdminUser creates a test user with admin role func NewTestAdminUser(t *testing.T, deps model.Dependencies, email, password string) (*model.User, string, error) { t.Helper() user, err := deps.Domains().Auth().CreateUser(email, password, "admin") if err != nil { return nil, "", err } _, token, err := deps.Domains().Auth().Login(email, password) if err != nil { return nil, "", err } tokenString := token.Token return user, tokenString, nil }