Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
Commit 03176bde authored by Darrel Danadyaksa Poli's avatar Darrel Danadyaksa Poli
Browse files

[RED] Add unit tests for User model to validate constructors and field defaults

parent 242cf0a5
Branches
No related tags found
1 merge request!1Login registration
package com.safetypin.authentication.model;
import org.junit.jupiter.api.Test;
import java.time.LocalDate;
import static org.junit.jupiter.api.Assertions.*;
public class UserTest {
@Test
public void testDefaultConstructorDefaults() {
User user = new User();
// Verify that default constructor sets all fields to their default values
assertNull(user.getId(), "Default id should be null");
assertNull(user.getEmail(), "Default email should be null");
assertNull(user.getPassword(), "Default password should be null");
assertNull(user.getName(), "Default name should be null");
assertFalse(user.isVerified(), "Default isVerified should be false");
assertNull(user.getRole(), "Default role should be null");
assertNull(user.getBirthdate(), "Default birthdate should be null");
assertNull(user.getProvider(), "Default provider should be null");
assertNull(user.getSocialId(), "Default socialId should be null");
}
@Test
public void testSettersAndGetters() {
User user = new User();
Long id = 123L;
String email = "test@example.com";
String password = "secret";
String name = "Test User";
boolean verified = true;
String role = "ADMIN";
LocalDate birthdate = LocalDate.of(2000, 1, 1);
String provider = "GOOGLE";
String socialId = "social123";
user.setId(id);
user.setEmail(email);
user.setPassword(password);
user.setName(name);
user.setVerified(verified);
user.setRole(role);
user.setBirthdate(birthdate);
user.setProvider(provider);
user.setSocialId(socialId);
assertEquals(id, user.getId());
assertEquals(email, user.getEmail());
assertEquals(password, user.getPassword());
assertEquals(name, user.getName());
assertTrue(user.isVerified());
assertEquals(role, user.getRole());
assertEquals(birthdate, user.getBirthdate());
assertEquals(provider, user.getProvider());
assertEquals(socialId, user.getSocialId());
}
@Test
public void testParameterizedConstructor() {
String email = "test2@example.com";
String password = "password123";
String name = "Another User";
boolean verified = false;
String role = "USER";
LocalDate birthdate = LocalDate.of(1995, 5, 15);
String provider = "EMAIL";
String socialId = null;
User user = new User(email, password, name, verified, role, birthdate, provider, socialId);
// id remains null until set (by the persistence layer)
assertNull(user.getId(), "Id should be null when not set");
assertEquals(email, user.getEmail());
assertEquals(password, user.getPassword());
assertEquals(name, user.getName());
assertEquals(verified, user.isVerified());
assertEquals(role, user.getRole());
assertEquals(birthdate, user.getBirthdate());
assertEquals(provider, user.getProvider());
assertNull(user.getSocialId(), "SocialId should be null");
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment