diff --git a/src/test/java/com/safetypin/authentication/model/UserTest.java b/src/test/java/com/safetypin/authentication/model/UserTest.java index 16752cec305ef9484f6d7cdf98aecf28f1f6d98b..43dc6c4913014c982caa458567bc527047c49cef 100644 --- a/src/test/java/com/safetypin/authentication/model/UserTest.java +++ b/src/test/java/com/safetypin/authentication/model/UserTest.java @@ -1,5 +1,6 @@ package com.safetypin.authentication.model; +import com.safetypin.authentication.dto.UserResponse; import org.junit.jupiter.api.Test; import java.time.LocalDate; @@ -84,4 +85,39 @@ class UserTest { assertEquals(birthdate, user.getBirthdate()); assertEquals(provider, user.getProvider()); } + + @Test + void testGenerateUserResponse() { + // Setup + User user = new User(); + UUID id = UUID.randomUUID(); + String email = "test@example.com"; + String password = "secret"; // This shouldn't be in the response + String name = "Test User"; + boolean verified = true; + String role = "ADMIN"; + LocalDate birthdate = LocalDate.of(2000, 1, 1); + String provider = "GOOGLE"; + + user.setId(id); + user.setEmail(email); + user.setPassword(password); + user.setName(name); + user.setVerified(verified); + user.setRole(role); + user.setBirthdate(birthdate); + user.setProvider(provider); + + // Execute + UserResponse response = user.generateUserResponse(); + + // Verify + assertEquals(id, response.getId(), "ID should match"); + assertEquals(email, response.getEmail(), "Email should match"); + assertEquals(name, response.getName(), "Name should match"); + assertEquals(verified, response.isVerified(), "Verification status should match"); + assertEquals(role, response.getRole(), "Role should match"); + assertEquals(birthdate, response.getBirthdate(), "Birthdate should match"); + assertEquals(provider, response.getProvider(), "Provider should match"); + } }