package net.rrm.ehour.persistence.project.dao; import net.rrm.ehour.domain.*; import net.rrm.ehour.persistence.dao.AbstractAnnotationDaoTest; import org.junit.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; /** * @author thies (Thies Edeling - thies@te-con.nl) * Created on: Nov 16, 2010 - 2:29:43 PM */ public class ProjectDaoHibernateImplTest extends AbstractAnnotationDaoTest { public ProjectDaoHibernateImplTest() { super("dataset-project.xml"); } @Test public void shouldDelete() { projectDAO.deleteOnId(20); Project project = projectDAO.findById(20); assertNull(project); } @Test public void shouldFindAll() { List<Project> projects = projectDAO.findAll(); assertEquals(5, projects.size()); } @Test public void shouldFindById() { Project prj = projectDAO.findById(10); assertEquals("eHour", prj.getName()); } @Test public void shouldPersist() { Customer customer = CustomerObjectMother.createCustomer(); customer.setCustomerId(10); customer.getProjects().clear(); Project project = ProjectObjectMother.createProject(null, customer); Project prj = projectDAO.persist(project); Assert.assertNotNull(prj.getProjectId()); } @Test public void shouldFindAllActive() { List<Project> r = projectDAO.findAllActive(); assertEquals(3, r.size()); } @Test public void shouldFindDefaultProjects() { assertEquals(2, projectDAO.findDefaultProjects().size()); } @Test public void shouldFindProjectForCustomersAll() { ArrayList<Customer> ids = new ArrayList<>(Arrays.asList(new Customer(30), new Customer(10))); List<Project> r = projectDAO.findProjectForCustomers(ids, false); assertEquals(3, r.size()); } @Test public void shouldFindProjectForCustomersOnlyActive() { ArrayList<Customer> ids = new ArrayList<>(Arrays.asList(new Customer(30), new Customer(10))); List<Project> r = projectDAO.findProjectForCustomers(ids, true); assertEquals(2, r.size()); } @Test public void shouldFindActiveProjectsWhereUserIsPM() { List<Project> res = projectDAO.findActiveProjectsWhereUserIsPM(new User(1)); assertEquals(10, res.iterator().next().getPK().intValue()); } @Autowired private ProjectDao projectDAO; }