package net.rrm.ehour.persistence.user.dao; import net.rrm.ehour.domain.UserDepartment; import net.rrm.ehour.domain.UserDepartmentObjectMother; import net.rrm.ehour.persistence.dao.AbstractAnnotationDaoTest; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; import static org.junit.Assert.*; public class UserDepartmentDaoHibernateImplTest extends AbstractAnnotationDaoTest { @Autowired private UserDepartmentDao userDepartmentDao; @Test public void shouldDelete() { userDepartmentDao.deleteOnId(20); UserDepartment dept = userDepartmentDao.findById(20); assertNull(dept); } @Test public void shouldFindById() { UserDepartment dept = userDepartmentDao.findById(20); assertEquals("EHOUR", dept.getName()); } @Test public void shouldGetAllDepartments() { List<UserDepartment> depts = userDepartmentDao.findAll(); assertEquals(2, depts.size()); } @Test public void shouldPersist() { UserDepartment department = UserDepartmentObjectMother.createUserDepartment(); userDepartmentDao.persist(department); UserDepartment dept2 = userDepartmentDao.findById(department.getDepartmentId()); assertEquals(department.getName(), dept2.getName()); } @Test public void shouldFindByNameAndCode() { assertNotNull(userDepartmentDao.findOnNameAndCode("TE-CON", "TEC")); } @Test public void shouldFindAllWithoutParent() { UserDepartment child = userDepartmentDao.findById(10); UserDepartment parent = userDepartmentDao.findById(20); child.setParentUserDepartment(parent); userDepartmentDao.persist(parent); userDepartmentDao.persist(child); userDepartmentDao.flush(); assertEquals(1, userDepartmentDao.findAllWithoutParent().size()); } }