diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java index b94a3538658eb1c2f81e677042e180152a13fcbd..963e59327b29a5444f8a679b208886659f8f47de 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java @@ -38,7 +38,7 @@ public class AgentAssignment extends BaseEntity { @ManyToOne private Agent agent; - @OneToMany + @OneToMany(cascade = CascadeType.ALL) @Setter(AccessLevel.NONE) private Set performanceEvaluations = new HashSet<>(); diff --git a/src/test/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentAssignmentTest.java b/src/test/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentAssignmentTest.java new file mode 100644 index 0000000000000000000000000000000000000000..999cb2ea9cd2f33923954a21d576d0b48d90d305 --- /dev/null +++ b/src/test/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentAssignmentTest.java @@ -0,0 +1,77 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.dao; + +import cz.fi.muni.pa165.seminar4.group7.secretservice.entity.AgentAssignment; +import cz.fi.muni.pa165.seminar4.group7.secretservice.entity.PerformanceEvaluation; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import javax.transaction.Transactional; + +import static org.assertj.core.api.Assertions.*; + +/** + * @author Tomáš Biloš + */ +@SpringBootTest +class AgentAssignmentTest { + + @Autowired + private AgentAssignmentDao agentAssignmentDao; + + @BeforeEach + void deleteAll() { + agentAssignmentDao.deleteAll(); + } + + @Test + void testEmpty() { + assertThat(agentAssignmentDao.findAll()).hasSize(0); + } + + @Test + void create() { + var agentAssignment = new AgentAssignment(); + agentAssignmentDao.save(agentAssignment); + + var tmp = agentAssignmentDao.findById(agentAssignment.getId()); + assertThat(tmp).isPresent(); + } + + @Test + void delete() { + var agentAssignment = new AgentAssignment(); + agentAssignmentDao.save(agentAssignment); + agentAssignmentDao.deleteById(agentAssignment.getId()); + assertThat(agentAssignmentDao.findAll()).hasSize(0); + } + + @Test + @Transactional + void addPerformanceEvaluation() { + var agentAssignment = new AgentAssignment(); + agentAssignment.addPerformanceEvaluation(new PerformanceEvaluation()); + agentAssignmentDao.save(agentAssignment); + + var agentAssignment2 = agentAssignmentDao.findById(agentAssignment.getId()); + assertThat(agentAssignment2).isPresent(); + assertThat(agentAssignment2.get().getPerformanceEvaluations()).hasSize(1); + } + + @Test + @Transactional + void removePerformanceEvaluation() { + var agentAssignment = new AgentAssignment(); + var perfEval = new PerformanceEvaluation(); + agentAssignment.addPerformanceEvaluation(perfEval); + agentAssignmentDao.save(agentAssignment); + + agentAssignment.removePerformanceEvaluation(perfEval); + agentAssignmentDao.save(agentAssignment); + + var agentAssignment2 = agentAssignmentDao.findById(agentAssignment.getId()); + assertThat(agentAssignment2).isPresent(); + assertThat(agentAssignment2.get().getPerformanceEvaluations()).hasSize(0); + } +} diff --git a/src/test/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentTest.java b/src/test/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentTest.java index 428c0ea88df007af40c307a5afbb33043c240863..06aea0e54b2b9b1913d1988efe53c32605bf7a61 100644 --- a/src/test/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentTest.java +++ b/src/test/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentTest.java @@ -12,6 +12,9 @@ import javax.transaction.Transactional; import static org.assertj.core.api.Assertions.*; +/** + * @author Tomáš Biloš + */ @SpringBootTest @Transactional public class AgentTest {