Implement auth domain with outside-in TDD (22 tests)
Controller (7 tests): signup, login, logout, GET/PATCH me. Standalone MockMvc setup (Boot 4 removed @WebMvcTest). Service (11 tests): signup with conflict check, login with password/active validation, getCurrentUser with household info, updateProfile with password change flow. Repository (4 tests): save/find, case-insensitive email via IgnoreCase queries (citext + Hibernate needs explicit IgnoreCase), existsByEmail. Also includes: - SecurityConfig: session auth, CSRF, role-based authorization - CustomUserDetailsService: loads UserAccount for Spring Security - UserAccount, Household, HouseholdMember JPA entities - spring-boot-flyway dependency (Boot 4 requires explicit module) - ddl-auto=none (Flyway owns schema, validate fails on citext) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
10
backend/src/main/java/com/recipeapp/auth/AuthService.java
Normal file
10
backend/src/main/java/com/recipeapp/auth/AuthService.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package com.recipeapp.auth;
|
||||
|
||||
import com.recipeapp.auth.dto.*;
|
||||
|
||||
public interface AuthService {
|
||||
UserResponse signup(SignupRequest request);
|
||||
UserResponse login(LoginRequest request);
|
||||
UserResponse getCurrentUser(String email);
|
||||
UserResponse updateProfile(String email, UpdateProfileRequest request);
|
||||
}
|
||||
Reference in New Issue
Block a user