Execute TestDataPopulators

This commit is contained in:
Andreas Svanberg 2025-02-17 15:51:52 +01:00
parent 4276dc15b1
commit 7a59844cb7

@ -34,13 +34,16 @@ import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.*;
import se.su.dsv.scipro.util.Pair;
public class DataInitializer implements Lifecycle {
public class DataInitializer implements Lifecycle, BaseData, Factory {
public static final int APPLICATION_PERIOD_START_MINUS_DAYS = 1;
public static final int APPLICATION_PERIOD_END_PLUS_DAYS = 3;
public static final int APPLICATION_PERIOD_COURSE_START_PLUS_DAYS = 5;
public static final long RESEARCH_AREA_ID = 12L;
@Inject
private Collection<TestDataPopulator> testDataPopulators = new ArrayList<>();
@Inject
private UserService userService;
@ -120,6 +123,9 @@ public class DataInitializer implements Lifecycle {
createTarget();
createStudentIdea();
createRoughDraftApproval();
for (TestDataPopulator testDataPopulator : testDataPopulators) {
testDataPopulator.populate(this, this);
}
}
if (profile.getCurrentProfile() == Profiles.DEV && noAdminUser()) {
createAdmin();
@ -243,13 +249,18 @@ public class DataInitializer implements Lifecycle {
sofia_student = createStudent("Sofia", 17);
}
private User createStudent(String firstName, int identifier) {
private User createStudent(String firstName) {
User user = createUser(firstName, STUDENT_LAST);
user.setIdentifier(identifier);
createBeta(user);
return user;
}
private User createStudent(String firstName, int identifier) {
User user = createStudent(firstName);
user.setIdentifier(identifier);
return user;
}
private User createEmployee(String firstName) {
User user = createUser(firstName, EMPLOYEE_LAST);
Unit u = createUnit();
@ -2087,6 +2098,36 @@ public class DataInitializer implements Lifecycle {
return entity;
}
@Override
public ProjectType bachelor() {
return bachelorClass;
}
@Override
public ProjectType magister() {
return magisterClass;
}
@Override
public ProjectType master() {
return masterClass;
}
@Override
public User createAuthor(String firstName) {
return createStudent(firstName);
}
@Override
public User createSupervisor(String firstName) {
return createEmployee(firstName);
}
@Override
public User createReviewer(String firstName) {
return createEmployee(firstName);
}
private static final class SimpleTextFile implements FileUpload {
private final User uploader;