diff --git a/cmd/server/tests/integration_test.go b/cmd/server/tests/integration_test.go index 0d3baa4..0d9787a 100644 --- a/cmd/server/tests/integration_test.go +++ b/cmd/server/tests/integration_test.go @@ -218,6 +218,26 @@ func setupTestSuite(t *testing.T) *TestContext { ctx.UserToken = extractToken(authResp) ctx.UserID = authResp.User.ID t.Logf("Created new user: %s (%s)", authResp.User.Email, authResp.User.Role) + } else if resp.StatusCode == http.StatusConflict { + // User already exists, log in instead + t.Logf("User already exists, attempting login...") + loginReq := map[string]interface{}{ + "login": "integrationuser@test.com", + "password": "UserPass123!", + } + loginResp := makeRequest(t, "POST", "/api/auth/login", loginReq, "") + defer loginResp.Body.Close() + + require.Equal(t, http.StatusOK, loginResp.StatusCode, "Login should succeed for existing user") + + var authResp AuthResponse + body, _ := io.ReadAll(loginResp.Body) + err := json.Unmarshal(body, &authResp) + require.NoError(t, err) + + ctx.UserToken = extractToken(authResp) + ctx.UserID = authResp.User.ID + t.Logf("Logged in as existing user: %s (%s)", authResp.User.Email, authResp.User.Role) } require.NotEmpty(t, ctx.UserToken, "User token is empty")