package unit;
import models.User;
import org.junit.Before;
import org.junit.Test;
import play.test.Fixtures;
import play.test.UnitTest;
/**
* Tests the most basic functions of the User model to verify its integrity.
*
* @author Alex Jarvis axj7@aber.ac.uk
*/
public class UserTest extends UnitTest {
User user;
@Before
public void setUp() {
Fixtures.deleteDatabase();
user = new User();
user.email = "alex@jarvis.com";
user.passwordHash = "1A2B";
user.accessToken = "1A2B3C";
user.firstName = "Alex";
user.lastName = "Jarvis";
user.mobileNumber = "123456";
user.create();
}
@Test
public void testFindUserByEmail() {
User sameUser = User.find("byEmail", user.email).first();
assertNotNull(sameUser);
assertEquals(user, sameUser);
}
@Test
public void testFindByMobileNumber() {
User sameUser = User.find("byMobileNumber", user.mobileNumber).first();
assertNotNull(sameUser);
assertEquals(user, sameUser);
}
@Test
public void testBasicAttributes() {
User sameUser = User.findById(user.id);
assertNotNull(sameUser);
assertEquals(sameUser.email, user.email);
assertEquals(sameUser.passwordHash, user.passwordHash);
assertEquals(sameUser.accessToken, user.accessToken);
assertEquals(sameUser.firstName, user.firstName);
assertEquals(sameUser.lastName, user.lastName);
assertEquals(sameUser.mobileNumber, user.mobileNumber);
}
@Test
public void testDelete() {
user.delete();
User sameUser = User.findById(user.id);
assertNull(sameUser);
}
}