@Test
@Transactional
public void savingGroupSavesAssociatedTaskElements() {
Task child1 = createValidTask();
Task child2 = createValidTask();
TaskGroup taskGroup = createValidTaskGroup();
taskGroup.addTaskElement(child1);
taskGroup.addTaskElement(child2);
taskElementDAO.save(taskGroup);
flushAndEvict(taskGroup);
TaskGroup reloaded;
try {
reloaded = (TaskGroup) taskElementDAO.find(taskGroup.getId());
} catch (InstanceNotFoundException e) {
throw new RuntimeException(e);
}
List<TaskElement> taskElements = reloaded.getChildren();
assertThat(taskElements.size(), equalTo(2));
assertThat(taskElements.get(0).getId(), equalTo(child1.getId()));
assertThat(taskElements.get(1).getId(), equalTo(child2.getId()));
}