vibeStonk/server/services/authService_test.go
2025-06-12 16:57:42 -04:00

63 lines
1.5 KiB
Go

package services
import (
"testing"
"vibeStonk/server/repository"
"vibeStonk/server/util"
)
func TestAuthService_RegisterUser(t *testing.T) {
configs := repository.GetTestConfigs()
testUserName, testUserPassword := util.GetTestUserCredentials()
for _, config := range configs {
service, err := NewAuthService(config)
if err != nil {
t.Errorf("error creating service: %v", err)
}
user, err := service.RegisterUser(testUserName, "Test", testUserPassword)
if err != nil {
t.Errorf("expected no error, got: %+v", err)
}
if user.UserName != testUserName || user.PrefName != "Test" {
t.Fail()
}
user, err = service.RegisterUser(testUserName, "Test", testUserPassword)
if err == nil {
t.Error("expected error, got: nil")
}
if user != nil {
t.Errorf("expected nil user, got : %+v", user)
}
}
}
func TestAuthService_AuthenticateUser(t *testing.T) {
configs := repository.GetTestConfigs()
testUserName, testUserPassword := util.GetTestUserCredentials()
for _, config := range configs {
service, err := NewAuthService(config)
if err != nil {
t.Errorf("expected nil error, got: %+v", err)
}
result, err := service.AuthenticateUser(testUserName, testUserPassword)
if err != nil {
t.Errorf("expected valid login, got err: %+v", err)
}
vUser, err := service.AuthenticateToken(result.Token)
if err != nil {
t.Errorf("expected to validate new session, got err: %+v", err)
}
if vUser.UserName != testUserName {
t.Errorf("expected to get the test user, got: %+v", vUser)
}
}
}