package com.pugh.sockso.commands;
import com.pugh.sockso.db.Database;
import com.pugh.sockso.resources.Locale;
import com.pugh.sockso.tests.SocksoTestCase;
import com.pugh.sockso.tests.TestDatabase;
import com.pugh.sockso.tests.TestLocale;
import com.pugh.sockso.web.User;
public class UserActiveTest extends SocksoTestCase {
private TestLocale locale;
private Database db;
private UserActive cmd;
private User user;
@Override
public void setUp() {
db = new TestDatabase();
locale = new TestLocale();
cmd = new UserActive( db, locale );
user = new User( -1, "name", "pass", "email@domain.com" );
}
private String execute( final String line ) throws Exception {
return cmd.execute(
line.split( " " )
);
}
public void testUserCanBeSetAsInactive() throws Exception {
user.save( db );
execute( "useractive 0 0" );
assertFalse( User.find(db,0).isActive() );
}
public void testUserCanBeSetAsActive() throws Exception {
user.setActive( false );
user.save( db );
execute( "useractive 0 1" );
assertTrue( User.find(db,0).isActive() );
}
public void testErrorIsReportedForInvalidUserId() throws Exception {
locale.setString( "con.err.invalidUserId", "invalid" );
assertContains( execute("useractive 999 1"), "invalid" );
}
}