87: First version of integration test
This commit is contained in:
parent
8d5a082a6b
commit
185785582a
88
core/src/test/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectServiceIntegrationTest.java
Normal file
88
core/src/test/java/se/su/dsv/scipro/project/split/SplitOrRestartProjectServiceIntegrationTest.java
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
package se.su.dsv.scipro.project.split;
|
||||||
|
|
||||||
|
import jakarta.inject.Inject;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import se.su.dsv.scipro.project.Project;
|
||||||
|
import se.su.dsv.scipro.project.ProjectStatus;
|
||||||
|
import se.su.dsv.scipro.system.DegreeType;
|
||||||
|
import se.su.dsv.scipro.system.ProjectType;
|
||||||
|
import se.su.dsv.scipro.system.User;
|
||||||
|
import se.su.dsv.scipro.test.IntegrationTest;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static se.su.dsv.scipro.project.split.SplitOrRestartProjectService.SplittableStatus;
|
||||||
|
import static se.su.dsv.scipro.project.split.SplitOrRestartProjectService.SplittableStatusRecord;
|
||||||
|
|
||||||
|
public class SplitOrRestartProjectServiceIntegrationTest extends IntegrationTest {
|
||||||
|
@Inject
|
||||||
|
private SplitOrRestartProjectService sorpService;
|
||||||
|
|
||||||
|
private Project parentProject;
|
||||||
|
private User supervisor;
|
||||||
|
private User reviwer;
|
||||||
|
private User author1;
|
||||||
|
private User author2;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void setUp() {
|
||||||
|
ProjectType bachelor = createProjectType();
|
||||||
|
this.parentProject = createProject(bachelor, ProjectStatus.ACTIVE);
|
||||||
|
/*
|
||||||
|
user = createUser();
|
||||||
|
Unit unit = new Unit();
|
||||||
|
unit.setTitle("DSV IT");
|
||||||
|
user.setUnit(save(unit));
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void project_must_exist() {
|
||||||
|
SplittableStatusRecord record = sorpService.getSplittableStatus(0);
|
||||||
|
SplittableStatus status = record.splittableStatus();
|
||||||
|
|
||||||
|
assertTrue(status == SplittableStatus.NOT_EXIST);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void project_must_be_active() {
|
||||||
|
parentProject.setProjectStatus(ProjectStatus.INACTIVE);
|
||||||
|
parentProject = save(parentProject);
|
||||||
|
|
||||||
|
SplittableStatusRecord record = sorpService.getSplittableStatus(parentProject.getId());
|
||||||
|
SplittableStatus status = record.splittableStatus();
|
||||||
|
|
||||||
|
assertTrue(status == SplittableStatus.NOT_ACTIVE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private ProjectType createProjectType() {
|
||||||
|
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
|
||||||
|
save(projectType);
|
||||||
|
return projectType;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Project createProject(ProjectType projectType, ProjectStatus active) {
|
||||||
|
User headSupervisor = save(
|
||||||
|
User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build()
|
||||||
|
);
|
||||||
|
Project project = new Project();
|
||||||
|
project.setTitle("Some title");
|
||||||
|
project.setProjectType(projectType);
|
||||||
|
project.setProjectStatus(active);
|
||||||
|
project.setHeadSupervisor(headSupervisor);
|
||||||
|
project.setStartDate(LocalDate.now());
|
||||||
|
project = save(project);
|
||||||
|
System.out.println(project);
|
||||||
|
return project;
|
||||||
|
}
|
||||||
|
|
||||||
|
private User createUser() {
|
||||||
|
User user = User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build();
|
||||||
|
return save(user);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user