87: Update test

This commit is contained in:
Tom Zhao 2025-04-09 15:17:21 +02:00
parent 195e7f3bfb
commit d875d9ce7c

@ -7,6 +7,7 @@ import se.su.dsv.scipro.file.FileUpload;
import se.su.dsv.scipro.project.Project; import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.project.ProjectStatus; import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.reviewing.ReviewerAssignmentService; 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.RoughDraftApproval;
import se.su.dsv.scipro.reviewing.RoughDraftApprovalService; import se.su.dsv.scipro.reviewing.RoughDraftApprovalService;
import se.su.dsv.scipro.security.auth.roles.Roles; 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 { public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest {
@Inject @Inject
private SplitOrRestartProjectService sorpService; private SplitOrRestartProjectService splitOrRestartProjectService;
@Inject @Inject
private RoughDraftApprovalService rdaService; private RoughDraftApprovalService roughDraftApprovalService;
@Inject @Inject
private ReviewerAssignmentService raService; private ReviewerAssignmentService reviewerAssignmentService;
@Inject
private ReviewerCapacityService reviewerCapacityService;
private ResearchArea researchArea; private ResearchArea researchArea;
private Project parentProject; private Project parentProject;
@ -58,7 +62,7 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest
@Test @Test
public void project_must_exist() { public void project_must_exist() {
SplittableStatusRecord record = sorpService.getSplittableStatus(0); SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(0);
SplittableStatus status = record.splittableStatus(); SplittableStatus status = record.splittableStatus();
assertTrue(status == SplittableStatus.NOT_EXIST); assertTrue(status == SplittableStatus.NOT_EXIST);
@ -69,7 +73,7 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest
parentProject.setProjectStatus(ProjectStatus.INACTIVE); parentProject.setProjectStatus(ProjectStatus.INACTIVE);
parentProject = save(parentProject); parentProject = save(parentProject);
SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId()); SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId());
SplittableStatus status = record.splittableStatus(); SplittableStatus status = record.splittableStatus();
assertTrue(status == SplittableStatus.NOT_ACTIVE); assertTrue(status == SplittableStatus.NOT_ACTIVE);
@ -77,7 +81,7 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest
@Test @Test
public void project_must_have_two_participants() { public void project_must_have_two_participants() {
SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId()); SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId());
SplittableStatus status = record.splittableStatus(); SplittableStatus status = record.splittableStatus();
assertTrue(status == SplittableStatus.NOT_TWO_PARTICIPANTS); assertTrue(status == SplittableStatus.NOT_TWO_PARTICIPANTS);
@ -87,7 +91,7 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest
public void project_phase_two_started() { public void project_phase_two_started() {
setUpBeforePhaseTwo(); setUpBeforePhaseTwo();
SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId()); SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId());
SplittableStatus status = record.splittableStatus(); SplittableStatus status = record.splittableStatus();
assertTrue(status == SplittableStatus.PHASE_TWO_STARTED); assertTrue(status == SplittableStatus.PHASE_TWO_STARTED);
@ -97,26 +101,38 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest
public void split_on_failed_phase_two() { public void split_on_failed_phase_two() {
setUpBeforePhaseTwo(); setUpBeforePhaseTwo();
Optional<RoughDraftApproval> optional = this.rdaService.findBy(parentProject); Optional<RoughDraftApproval> optional = this.roughDraftApprovalService.findBy(parentProject);
optional.ifPresent(rda -> rda.reject("Fail", Optional.empty())); optional.ifPresent(rda -> rda.reject("Fail", Optional.empty()));
SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId()); SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId());
SplittableStatus status = record.splittableStatus(); SplittableStatus status = record.splittableStatus();
assertTrue(status == SplittableStatus.OK); assertTrue(status == SplittableStatus.OK);
sorpService.splitProject(parentProject.getId()); splitOrRestartProjectService.splitProject(parentProject.getId());
List<Project> childProjects = sorpService.getChildProjects(parentProject.getId()); List<Project> childProjects = splitOrRestartProjectService.getChildProjects(parentProject.getId());
assertTrue(parentProject.getProjectStatus() == ProjectStatus.INACTIVE); assertTrue(parentProject.getProjectStatus() == ProjectStatus.INACTIVE);
assertTrue(childProjects.size() == 2); assertTrue(childProjects.size() == 2);
childProjects.forEach(project -> { childProjects.forEach(project -> {
assertTrue(project.getProjectParticipants().size() == 1); assertTrue(project.getProjectParticipants().size() == 1);
assertTrue(project.getHeadSupervisor().equals(supervisor)); assertTrue(project.getHeadSupervisor().equals(supervisor));
assertTrue(project.getProjectStatus() == ProjectStatus.ACTIVE); 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, PHASE_TWO_STARTED,
FINAL_SEMINAR_PHASE_STARTED, FINAL_SEMINAR_PHASE_STARTED,
@ -165,10 +181,10 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest
parentProject.addProjectParticipant(author2); parentProject.addProjectParticipant(author2);
save(parentProject); save(parentProject);
rdaService.requestApproval(parentProject, dummyFile(), "comment"); roughDraftApprovalService.requestApproval(parentProject, dummyFile(), "comment");
reviwer = createEmployee("Lisa", "Employee", "lisa.employee@example.com", true); 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() { private FileUpload dummyFile() {