feat: created a better account creation flow
This commit is contained in:
@ -4,12 +4,10 @@ import static enseirb.myinpulse.model.ProjectDecisionValue.*;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
import enseirb.myinpulse.model.Administrator;
|
||||
import enseirb.myinpulse.model.Entrepreneur;
|
||||
import enseirb.myinpulse.model.Project;
|
||||
import enseirb.myinpulse.model.ProjectDecision;
|
||||
import enseirb.myinpulse.model.*;
|
||||
import enseirb.myinpulse.service.AdminApiService;
|
||||
import enseirb.myinpulse.service.database.AdministratorService;
|
||||
import enseirb.myinpulse.service.database.AppointmentService;
|
||||
import enseirb.myinpulse.service.database.EntrepreneurService;
|
||||
import enseirb.myinpulse.service.database.ProjectService;
|
||||
|
||||
@ -21,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ -37,7 +36,8 @@ public class AdminApiServiceTest {
|
||||
static void setup(
|
||||
@Autowired AdministratorService administratorService,
|
||||
@Autowired ProjectService projectService,
|
||||
@Autowired EntrepreneurService entrepreneurService) {
|
||||
@Autowired EntrepreneurService entrepreneurService,
|
||||
@Autowired AppointmentService appoitmentService) {
|
||||
administratorService.addAdministrator(
|
||||
new Administrator(
|
||||
"admin",
|
||||
@ -54,6 +54,7 @@ public class AdminApiServiceTest {
|
||||
"testAdmin@example.com",
|
||||
""));
|
||||
administratorid = administrator.getIdUser();
|
||||
|
||||
entrepreneur =
|
||||
new Entrepreneur(
|
||||
"JeSuisUnEntrepreneurDeCompet",
|
||||
@ -65,14 +66,33 @@ public class AdminApiServiceTest {
|
||||
"info ofc",
|
||||
false);
|
||||
entrepreneurService.addEntrepreneur(entrepreneur);
|
||||
projectService.addNewProject(
|
||||
new Project(
|
||||
"sampleProjectAdminApiService",
|
||||
|
||||
Entrepreneur entrepreneur2 =
|
||||
new Entrepreneur(
|
||||
"GDProjets", "", "Entrepreneur2@inpulse.com", "", "", "", "info ofc", true);
|
||||
entrepreneurService.addEntrepreneur(entrepreneur2);
|
||||
|
||||
Project p =
|
||||
projectService.addNewProject(
|
||||
new Project(
|
||||
"sampleProjectAdminApiService",
|
||||
null,
|
||||
LocalDate.now(),
|
||||
ACTIVE,
|
||||
administratorService.getAdministratorByPrimaryMain(
|
||||
"testAdminFull@example.com")));
|
||||
|
||||
entrepreneurService.updateEntrepreneurProjectParticipation(entrepreneur2.getIdUser(), p);
|
||||
|
||||
Appointment a =
|
||||
new Appointment(
|
||||
null,
|
||||
LocalDate.now(),
|
||||
ACTIVE,
|
||||
administratorService.getAdministratorByPrimaryMain(
|
||||
"testAdminFull@example.com")));
|
||||
LocalTime.now(),
|
||||
LocalTime.now(),
|
||||
"Salle TD 15",
|
||||
"Discussion importante");
|
||||
appoitmentService.addNewAppointment(a);
|
||||
}
|
||||
|
||||
private <T> List<T> IterableToList(Iterable<T> iterable) {
|
||||
@ -221,4 +241,54 @@ public class AdminApiServiceTest {
|
||||
this.adminApiService.addNewProject(p1);
|
||||
assertThrows(ResponseStatusException.class, () -> this.adminApiService.addNewProject(p2));
|
||||
}
|
||||
|
||||
// We could do a delete active project, but it's not really useful.
|
||||
@Test
|
||||
void deletePendingProject() {
|
||||
int oldsize = IterableToList(this.adminApiService.getPendingProjects()).size();
|
||||
Project p1 =
|
||||
new Project("PendingProjectAdminApiService2", null, LocalDate.now(), PENDING, null);
|
||||
Project p2 = this.adminApiService.addNewProject(p1);
|
||||
|
||||
assertEquals(oldsize + 1, IterableToList(this.adminApiService.getPendingProjects()).size());
|
||||
this.adminApiService.deleteProject(p2.getIdProject());
|
||||
|
||||
assertEquals(oldsize, IterableToList(this.adminApiService.getPendingProjects()).size());
|
||||
for (int i = 0; i < oldsize; i++) {
|
||||
assertNotEquals(
|
||||
p1.getIdProject(),
|
||||
IterableToList(this.adminApiService.getPendingProjects())
|
||||
.get(i)
|
||||
.getIdProject());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void getUpcommingAppointmentUnkwnownUser() {
|
||||
assertThrows(
|
||||
ResponseStatusException.class,
|
||||
() -> {
|
||||
Iterable<Appointment> a =
|
||||
this.adminApiService.getUpcomingAppointments(
|
||||
"entrepreneur-inexistent@mail.fr");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void getUpcommingAppointmentNoProject() {
|
||||
assertThrows(
|
||||
ResponseStatusException.class,
|
||||
() -> {
|
||||
Iterable<Appointment> a =
|
||||
this.adminApiService.getUpcomingAppointments(
|
||||
"Entrepreneur@inpulse.com");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void getUpcommingAppointmentEmpty() {
|
||||
Iterable<Appointment> a =
|
||||
this.adminApiService.getUpcomingAppointments("Entrepreneur2@inpulse.com");
|
||||
assertEquals(0, IterableToList(a).size());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user