diff --git a/src/main/java/dgpena/siexample/persistence/Departments.java b/src/main/java/dgpena/siexample/persistence/Departments.java new file mode 100644 index 0000000000000000000000000000000000000000..23b757cca05e10181702ba2a47eec50717881fd8 --- /dev/null +++ b/src/main/java/dgpena/siexample/persistence/Departments.java @@ -0,0 +1,22 @@ +package dgpena.siexample.persistence; + +import javax.persistence.EntityManager; + +public class Departments { + + private EntityManager em; + + public Departments(EntityManager em) { + this.em = em; + } + + public void addNewDepartment(Department d) { + em.getTransaction().begin(); + em.persist(d); + em.getTransaction().commit(); + } + + public Department findById(int id) { + return em.find(Department.class, id); + } +} diff --git a/src/test/java/dgpena/siexample/persistence/DepartmentTest.java b/src/test/java/dgpena/siexample/persistence/DepartmentsTest.java similarity index 80% rename from src/test/java/dgpena/siexample/persistence/DepartmentTest.java rename to src/test/java/dgpena/siexample/persistence/DepartmentsTest.java index 85bcf83f7decb74e741c712064259783d918f5b0..9faa3e84fb3119a3d396a1de69b61777bddceee3 100644 --- a/src/test/java/dgpena/siexample/persistence/DepartmentTest.java +++ b/src/test/java/dgpena/siexample/persistence/DepartmentsTest.java @@ -13,7 +13,7 @@ import javax.persistence.Persistence; import org.junit.BeforeClass; import org.junit.Test; -public class DepartmentTest extends SQLBasedTest { +public class DepartmentsTest extends SQLBasedTest { private static EntityManagerFactory emf; @@ -23,38 +23,33 @@ public class DepartmentTest extends SQLBasedTest { } @Test - public void testCreateDepartment() throws Exception { - EntityManager em = emf.createEntityManager(); + public void testAddNewDepartment() throws Exception { Department d = new Department(); d.setName("finanzas"); - - em.getTransaction().begin(); - em.persist(d); - em.getTransaction().commit(); + + EntityManager em = emf.createEntityManager(); + Departments depts = new Departments(em); + depts.addNewDepartment(d); // check in the DB using JDBC int deptId = d.getId(); - - Statement statement = jdbcConnection.createStatement(); ResultSet rs = statement.executeQuery("SELECT COUNT(*) as total FROM Department d where d.id = "+deptId); rs.next(); - assertEquals(1, rs.getInt("total")); } @Test - public void testFindDepartment() throws SQLException { + public void testFindById() throws SQLException { // insert a department previously with JDBC Statement statement = jdbcConnection.createStatement(); statement.executeUpdate("INSERT INTO Department(name) values('finanzas')", Statement.RETURN_GENERATED_KEYS); int deptId = getLastInsertedId(statement); - EntityManager em = emf.createEntityManager(); - - Department d = em.find(Department.class, deptId); + Departments depts = new Departments(em); + Department d = depts.findById(deptId); assertEquals(deptId, d.getId()); assertEquals("finanzas", d.getName());