diff --git a/core/src/test/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectServiceIntegrationTest.java b/core/src/test/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectServiceIntegrationTest.java index f9866d2efb..1dc9429e5b 100644 --- a/core/src/test/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectServiceIntegrationTest.java +++ b/core/src/test/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectServiceIntegrationTest.java @@ -7,6 +7,7 @@ import se.su.dsv.scipro.file.FileUpload; import se.su.dsv.scipro.project.Project; import se.su.dsv.scipro.project.ProjectStatus; import se.su.dsv.scipro.reviewing.ReviewerAssignmentService; +import se.su.dsv.scipro.reviewing.ReviewerCapacityService; import se.su.dsv.scipro.reviewing.RoughDraftApproval; import se.su.dsv.scipro.reviewing.RoughDraftApprovalService; import se.su.dsv.scipro.security.auth.roles.Roles; @@ -30,13 +31,16 @@ import static se.su.dsv.scipro.project.split.SplitOrRestartProjectService.Splitt public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest { @Inject - private SplitOrRestartProjectService sorpService; + private SplitOrRestartProjectService splitOrRestartProjectService; @Inject - private RoughDraftApprovalService rdaService; + private RoughDraftApprovalService roughDraftApprovalService; @Inject - private ReviewerAssignmentService raService; + private ReviewerAssignmentService reviewerAssignmentService; + + @Inject + private ReviewerCapacityService reviewerCapacityService; private ResearchArea researchArea; private Project parentProject; @@ -58,7 +62,7 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest @Test public void project_must_exist() { - SplittableStatusRecord record = sorpService.getSplittableStatus(0); + SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(0); SplittableStatus status = record.splittableStatus(); assertTrue(status == SplittableStatus.NOT_EXIST); @@ -69,7 +73,7 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest parentProject.setProjectStatus(ProjectStatus.INACTIVE); parentProject = save(parentProject); - SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId()); + SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId()); SplittableStatus status = record.splittableStatus(); assertTrue(status == SplittableStatus.NOT_ACTIVE); @@ -77,7 +81,7 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest @Test public void project_must_have_two_participants() { - SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId()); + SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId()); SplittableStatus status = record.splittableStatus(); assertTrue(status == SplittableStatus.NOT_TWO_PARTICIPANTS); @@ -87,7 +91,7 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest public void project_phase_two_started() { setUpBeforePhaseTwo(); - SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId()); + SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId()); SplittableStatus status = record.splittableStatus(); assertTrue(status == SplittableStatus.PHASE_TWO_STARTED); @@ -97,26 +101,38 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest public void split_on_failed_phase_two() { setUpBeforePhaseTwo(); - Optional<RoughDraftApproval> optional = this.rdaService.findBy(parentProject); + Optional<RoughDraftApproval> optional = this.roughDraftApprovalService.findBy(parentProject); optional.ifPresent(rda -> rda.reject("Fail", Optional.empty())); - SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId()); + SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId()); SplittableStatus status = record.splittableStatus(); assertTrue(status == SplittableStatus.OK); - sorpService.splitProject(parentProject.getId()); - List<Project> childProjects = sorpService.getChildProjects(parentProject.getId()); + splitOrRestartProjectService.splitProject(parentProject.getId()); + List<Project> childProjects = splitOrRestartProjectService.getChildProjects(parentProject.getId()); assertTrue(parentProject.getProjectStatus() == ProjectStatus.INACTIVE); assertTrue(childProjects.size() == 2); + childProjects.forEach(project -> { assertTrue(project.getProjectParticipants().size() == 1); assertTrue(project.getHeadSupervisor().equals(supervisor)); assertTrue(project.getProjectStatus() == ProjectStatus.ACTIVE); + assertTrue(roughDraftApprovalService.findBy(project).isEmpty()); }); } + @Test + public void split_on_approved_phase_two() { + setUpBeforePhaseTwo(); + + Optional<RoughDraftApproval> optional = this.roughDraftApprovalService.findBy(parentProject); + optional.ifPresent(rda -> rda.approve("Approve", Optional.empty())); + + + } + /* PHASE_TWO_STARTED, FINAL_SEMINAR_PHASE_STARTED, @@ -165,10 +181,10 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest parentProject.addProjectParticipant(author2); save(parentProject); - rdaService.requestApproval(parentProject, dummyFile(), "comment"); + roughDraftApprovalService.requestApproval(parentProject, dummyFile(), "comment"); reviwer = createEmployee("Lisa", "Employee", "lisa.employee@example.com", true); - ReviewerAssignmentService.ReviewerAssignment reviewerAssignment = raService.assignReviewer(parentProject, reviwer); + ReviewerAssignmentService.ReviewerAssignment reviewerAssignment = reviewerAssignmentService.assignReviewer(parentProject, reviwer); } private FileUpload dummyFile() {