package svanimpe.reminders.domain;
import org.junit.Test;
import static org.junit.Assert.*;
public class UserTest
{
@Test
public void testSetUsernameTrimsWhitespace()
{
User user = new User();
user.setUsername(" me ");
assertEquals("me", user.getUsername());
}
@Test
public void testSetUsernameUsesNullAsEmpty()
{
User user = new User();
user.setUsername(" ");
assertNull(user.getUsername());
}
@Test
public void testSetFullNameTrimsWhitespace()
{
User user = new User();
user.setFullName(" me ");
assertEquals("me", user.getFullName());
}
@Test
public void testSetFullNameUsesNullAsEmpty()
{
User user = new User();
user.setFullName(" ");
assertNull(user.getFullName());
}
@Test
public void testSetProfilePictureTrimsWhitespace()
{
User user = new User();
user.setProfilePicture(" mypic.png ");
assertEquals("mypic.png", user.getProfilePicture());
}
@Test
public void testSetProfilePictureUsesDefaultAsEmpty()
{
User user = new User();
user.setProfilePicture(" ");
assertEquals(User.DEFAULT_PROFILE_PICTURE, user.getProfilePicture());
user.setProfilePicture(null);
assertEquals(User.DEFAULT_PROFILE_PICTURE, user.getProfilePicture());
}
@Test
public void testSetPasswordTrimsWhitespace()
{
User user = new User();
user.setPassword(" supersecret ");
// Should have encrypted "supersecret".
assertEquals("f75778f7425be4db0369d09af37a6c2b9a83dea0e53e7bd57412e4b060e607f7", user.getPassword());
}
@Test
public void testSetPasswordAvoidsNull()
{
User user = new User();
user.setPassword(null);
// Should have encrypted "".
assertEquals("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", user.getPassword());
}
@Test
public void testEqualByUsername()
{
User first = new User();
first.setUsername("me");
User second = new User();
second.setUsername("me");
assertTrue(first.equals(second));
second.setUsername("you");
assertFalse(first.equals(second));
}
@Test
public void testHashOnUsername()
{
User first = new User();
first.setUsername("me");
User second = new User();
second.setUsername("me");
assertEquals(first.hashCode(), second.hashCode());
second.setUsername("you");
assertNotEquals(first.hashCode(), second.hashCode());
}
}