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