Refactors Department management

Creates a Departments class with basic
Department management with the EntityManager.
parent c5dc318b
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);
}
}
......@@ -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());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment