package eu.smartlm.abs.portal.view.portlet;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import eu.smartlm.abs.portal.security.login.model.User;
/**
* This test verifies the correct work of the QueryPortlet, key component of the A&B Portal
* @author David García Pérez - CESGA
*
*/
public class QueryPortletTest {
@Test
public void testSetAFilter() {
QueryPortlet queryPortlet = new QueryPortlet();
assertTrue(queryPortlet.getSecurityAccountingGroupFilter().isEmpty());
assertTrue(queryPortlet.getSecurityUserFilter().isEmpty());
User user = new User("UserA" , "usera", "qwewq", "we q", false, false);
queryPortlet.setFilters(user);
assertEquals(0, queryPortlet.getSecurityAccountingGroupFilter().size());
assertEquals(1, queryPortlet.getSecurityUserFilter().size());
assertEquals(user.getAccountingUsername(), queryPortlet.getSecurityUserFilter().toArray()[0]);
User user2 = new User("UserB" , "usera", "asdddfa", "asdddfa", false, false);
queryPortlet.setFilters(user2);
assertEquals(0, queryPortlet.getSecurityAccountingGroupFilter().size());
assertEquals(1, queryPortlet.getSecurityUserFilter().size());
assertEquals(user2.getAccountingUsername(), queryPortlet.getSecurityUserFilter().toArray()[0]);
User user3 = new User("UserA" , "usera", "asdfa", "asdfasd", true, false);
queryPortlet.setFilters(user3);
assertEquals(1, queryPortlet.getSecurityAccountingGroupFilter().size());
assertEquals(0, queryPortlet.getSecurityUserFilter().size());
assertEquals(user3.getAccountingGroup(), queryPortlet.getSecurityAccountingGroupFilter().toArray()[0]);
User user4 = new User("UserA" , "usera", "asdfa", "asdfddasd", true, false);
queryPortlet.setFilters(user4);
assertEquals(1, queryPortlet.getSecurityAccountingGroupFilter().size());
assertEquals(0, queryPortlet.getSecurityUserFilter().size());
assertEquals(user4.getAccountingGroup(), queryPortlet.getSecurityAccountingGroupFilter().toArray()[0]);
User user5 = new User("UserA" , "usera", "asdfa", "asdfddasd", true, true);
queryPortlet.setFilters(user5);
assertEquals(0, queryPortlet.getSecurityAccountingGroupFilter().size());
assertEquals(0, queryPortlet.getSecurityUserFilter().size());
}
}