Add tests for RequestPasswordResetHandler and fix test compilation errors

- Add comprehensive tests for RequestPasswordResetHandler covering success and error cases
- Fix timezone-related test failures after removal of User.Timezone field:
  - Remove Timezone assertions from login_user_test.go
  - Remove Timezone field from RegisterRequest in integration tests
  - Update ValidateRegistration test cases (no longer validates timezone)
  - Update migrations_test to check current user table schema
- Fix syntax errors in user_repository_test.go (duplicate closing braces on lines 114 and 210)
This commit is contained in:
2025-12-01 23:04:40 +01:00
parent 5d92820591
commit f780c69806
7 changed files with 338 additions and 37 deletions
+1 -23
View File
@@ -118,77 +118,55 @@ func TestValidateRegistration(t *testing.T) {
name string
email string
password string
timezone string
wantErr bool
}{
{
"valid registration",
"user@example.com",
"Passw0rd!",
"UTC",
false,
},
{
"valid with complex email",
"user.name+tag@example.co.uk",
"MyS3cur3P@ss",
"Europe/Madrid",
false,
},
{
"invalid email",
"invalid-email",
"Passw0rd!",
"UTC",
true,
},
{
"invalid password",
"user@example.com",
"weak",
"UTC",
true,
},
{
"invalid timezone",
"user@example.com",
"Passw0rd!",
"InvalidTZ",
true,
},
{
"all invalid",
"not-an-email",
"weak",
"bad-tz",
true,
},
{
"empty email",
"",
"Passw0rd!",
"UTC",
true,
},
{
"empty password",
"user@example.com",
"",
"UTC",
true,
},
{
"empty timezone",
"user@example.com",
"Passw0rd!",
"",
true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := ValidateRegistration(tt.email, tt.password, tt.timezone)
err := ValidateRegistration(tt.email, tt.password)
if (err != nil) != tt.wantErr {
t.Errorf("ValidateRegistration() error = %v, wantErr %v", err, tt.wantErr)
}