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) } } }