87: Improve integration test

This commit is contained in:
Tom Zhao 2025-04-14 12:56:01 +02:00
parent 7bb47f6e09
commit 6ccf72d4ab

@ -8,25 +8,18 @@ import jakarta.inject.Inject;
import java.io.InputStream;
import java.time.LocalDate;
import java.time.Year;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.function.Function;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import se.su.dsv.scipro.file.FileUpload;
import se.su.dsv.scipro.finalseminar.FinalSeminar;
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.reviewing.*;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ResearchArea;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.system.*;
import se.su.dsv.scipro.test.IntegrationTest;
public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest {
@ -40,6 +33,9 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest
@Inject
private RoughDraftApprovalService roughDraftApprovalService;
@Inject
private FinalSeminarApprovalService finalSeminarApprovalService;
@Inject
private ReviewerAssignmentService reviewerAssignmentService;
@ -170,11 +166,27 @@ public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest
});
}
/*
PHASE_TWO_STARTED,
FINAL_SEMINAR_PHASE_STARTED,
OK,
*/
@Test
public void split_on_final_seminar_phase_started() {
setUpBeforePhaseTwo();
Optional<RoughDraftApproval> optional = this.roughDraftApprovalService.findBy(parentProject);
optional.ifPresent(rda -> rda.approve("Approve", Optional.empty()));
FinalSeminar finalSeminar = new FinalSeminar();
finalSeminar.setProject(parentProject);
finalSeminar.setStartDate(Date.from(ZonedDateTime.now().plusDays(10).toInstant()));
finalSeminar.setRoom("room");
finalSeminar.setPresentationLanguage(Language.ENGLISH);
parentProject.setLanguage(Language.ENGLISH);
save(finalSeminar);
SplittableStatusRecord record = splitOrRestartProjectService.getSplittableStatus(parentProject.getId());
SplittableStatus status = record.splittableStatus();
assertTrue(status == SplittableStatus.FINAL_SEMINAR_PHASE_STARTED);
}
private Project createProject(ProjectType projectType, ProjectStatus active) {
supervisor = createEmployee("Eric", "Employee", "eric@example.com", false);