diff --git a/libreplan-business/src/test/java/org/libreplan/business/test/users/daos/UserDAOTest.java b/libreplan-business/src/test/java/org/libreplan/business/test/users/daos/UserDAOTest.java index 3212d92f9..af25d774c 100644 --- a/libreplan-business/src/test/java/org/libreplan/business/test/users/daos/UserDAOTest.java +++ b/libreplan-business/src/test/java/org/libreplan/business/test/users/daos/UserDAOTest.java @@ -299,15 +299,23 @@ public class UserDAOTest { assertEquals(previous + 1, unboundUsers.size()); } - private Worker givenStoredWorkerRelatedTo(User user) { - Worker worker = Worker.create(); - worker.setFirstName("Name " + UUID.randomUUID()); - worker.setSurname("Surname " + UUID.randomUUID()); - worker.setNif("ID " + UUID.randomUUID()); - worker.setUser(user); - workerDAO.save(worker); + private Worker givenStoredWorkerRelatedTo(final User user) { + return transactionService + .runOnAnotherTransaction(new IOnTransaction() { - return worker; + @Override + public Worker execute() { + Worker worker = Worker.create(); + worker.setFirstName("Name " + UUID.randomUUID()); + worker.setSurname("Surname " + UUID.randomUUID()); + worker.setNif("ID " + UUID.randomUUID()); + worker.setUser(user); + workerDAO.save(worker); + worker.dontPoseAsTransientObjectAnymore(); + + return worker; + } + }); } @Test @@ -320,4 +328,14 @@ public class UserDAOTest { assertEquals(previous, unboundUsers.size()); } + @Test + public void testUnoundUsers3() { + int previous = userDAO.getUnboundUsers(null).size(); + User user = createUser(getUniqueName()); + user.setWorker(givenStoredWorkerRelatedTo(user)); + + List unboundUsers = userDAO.getUnboundUsers(user.getWorker()); + assertEquals(previous + 1, unboundUsers.size()); + } + }