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
@@ -13,7 +13,6 @@ func TestAuthFlow(t *testing.T) {
reqBody := RegisterRequest{
Email: "test@example.com",
Password: "Password123!",
Timezone: "UTC",
}
rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", reqBody, "")
@@ -37,7 +36,6 @@ func TestAuthFlow(t *testing.T) {
reqBody := RegisterRequest{
Email: "duplicate@example.com",
Password: "Password123!",
Timezone: "UTC",
}
makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", reqBody, "")
@@ -53,7 +51,6 @@ func TestAuthFlow(t *testing.T) {
reqBody := RegisterRequest{
Email: "invalid-email",
Password: "Password123!",
Timezone: "UTC",
}
rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", reqBody, "")
@@ -67,7 +64,6 @@ func TestAuthFlow(t *testing.T) {
reqBody := RegisterRequest{
Email: "short@example.com",
Password: "123",
Timezone: "UTC",
}
rr := makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", reqBody, "")
@@ -81,7 +77,6 @@ func TestAuthFlow(t *testing.T) {
registerBody := RegisterRequest{
Email: "login@example.com",
Password: "Password123!",
Timezone: "UTC",
}
makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "")
@@ -108,7 +103,6 @@ func TestAuthFlow(t *testing.T) {
registerBody := RegisterRequest{
Email: "wrongpass@example.com",
Password: "Password123!",
Timezone: "UTC",
}
makeRequest(t, *ts.Router, "POST", "/api/v1/auth/register", registerBody, "")
@@ -120,7 +120,6 @@ func registerAndLogin(t *testing.T, router http.Handler, email, password string)
registerBody := RegisterRequest{
Email: email,
Password: password,
Timezone: "UTC",
}
makeRequest(t, router, "POST", "/api/v1/auth/register", registerBody, "")
@@ -43,7 +43,7 @@ func TestUsersTableSchema(t *testing.T) {
t.Fatalf("RunMigrations failed: %v", err)
}
columns := []string{"id", "email", "password_hash", "timezone", "created_at", "updated_at"}
columns := []string{"id", "email", "password_hash", "email_verified", "email_verification_token", "email_verification_expiry", "created_at", "updated_at"}
for _, col := range columns {
query := "SELECT " + col + " FROM users LIMIT 0"
rows, err := db.Query(query)
@@ -111,7 +111,6 @@ func TestUserRepositoryFindByID(t *testing.T) {
if found.Email != user.Email {
t.Errorf("Expected email %s, got %s", user.Email, found.Email)
}
}
}
func TestUserRepositoryFindByIDNotFound(t *testing.T) {
@@ -207,7 +206,6 @@ func TestUserRepositoryUpdate(t *testing.T) {
if found.Email != "updated@example.com" {
t.Errorf("Expected email updated@example.com, got %s", found.Email)
}
}
}
func TestUserRepositoryUpdateNotFound(t *testing.T) {