/*
* ValidaterTest.java
*
* Created on Aug 19, 2007, 1:14:32 PM
*
* Tests the validation methods
*
*/
package com.pugh.sockso;
import com.pugh.sockso.db.Database;
import com.pugh.sockso.tests.SocksoTestCase;
import com.pugh.sockso.tests.TestDatabase;
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
import static org.easymock.EasyMock.*;
public class ValidaterTest extends SocksoTestCase {
private Validater v;
@Override
protected void setUp() {
this.v = new Validater( createMock(Database.class) );
}
public void testCheckRequiredFieldsTextCmps() {
JTextComponent[] valid = {
new JTextField( "data" )
};
JTextComponent[] invalid = {
new JTextField( "" )
};
assertTrue( v.checkRequiredFields(valid) );
assertFalse( v.checkRequiredFields(invalid) );
}
public void testCheckRequiredFieldsStrings() {
String[] valid = {
"data"
};
String[] invalid = {
"data", ""
};
assertTrue( v.checkRequiredFields(valid) );
assertFalse( v.checkRequiredFields(invalid) );
}
public void testIsValidEmail() {
assertTrue( v.isValidEmail("foo@bar.com") );
assertTrue( v.isValidEmail("foo.bar@baz.net") );
assertTrue( v.isValidEmail("wikibar_me@mp.ar-pa.it") );
assertFalse( v.isValidEmail("w p@bom.com") );
assertFalse( v.isValidEmail("wwww@@halo.net") );
assertFalse( v.isValidEmail("asd@asd. com") );
}
public void testEmailAddressCanStartWithANumber() {
assertTrue( v.isValidEmail("13cats@gmail.com") );
}
public void testUsernameExists() throws Exception {
TestDatabase db = new TestDatabase();
Validater v = new Validater( db );
final String email = "rod@pu-gh.com";
assertFalse( v.emailExists(email) );
db.fixture( "singleUser" );
assertTrue( v.emailExists(email) );
}
public void testEmailExists() throws Exception {
TestDatabase db = new TestDatabase();
Validater v = new Validater( db );
final String username = "foo";
assertFalse( v.usernameExists(username) );
db.fixture( "singleUser" );
assertTrue( v.usernameExists(username) );
}
}