backend-api #6

Merged
piair merged 107 commits from backend-api into main 2025-03-26 19:04:09 +01:00
2 changed files with 60 additions and 5 deletions
Showing only changes of commit a2e2395cc2 - Show all commits

View File

@ -2,6 +2,7 @@ plugins {
id 'java' id 'java'
id 'org.springframework.boot' version '3.4.2' id 'org.springframework.boot' version '3.4.2'
id 'io.spring.dependency-management' version '1.1.7' id 'io.spring.dependency-management' version '1.1.7'
id 'jacoco'
} }
group = 'enseirb' group = 'enseirb'
@ -36,3 +37,22 @@ dependencies {
tasks.named('test') { tasks.named('test') {
useJUnitPlatform() useJUnitPlatform()
} }
test {
finalizedBy jacocoTestReport // report is always generated after tests run
}
jacocoTestReport {
dependsOn test // tests are required to run before generating the report
reports {
xml.required = false
csv.required = false
html.outputLocation = layout.buildDirectory.dir('jacocoHtml')
}
}
jacoco {
toolVersion = "0.8.12"
reportsDirectory = layout.buildDirectory.dir('customJacocoReportDir')
}

View File

@ -7,6 +7,7 @@ import enseirb.myinpulse.model.Administrator;
import enseirb.myinpulse.model.Project; import enseirb.myinpulse.model.Project;
import enseirb.myinpulse.service.AdminApiService; import enseirb.myinpulse.service.AdminApiService;
import enseirb.myinpulse.service.database.AdministratorService; import enseirb.myinpulse.service.database.AdministratorService;
import enseirb.myinpulse.service.database.ProjectService;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -15,6 +16,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.server.ResponseStatusException; import org.springframework.web.server.ResponseStatusException;
import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -24,22 +26,44 @@ public class AdminApiServiceTest {
@Autowired private AdminApiService adminApiService; @Autowired private AdminApiService adminApiService;
@BeforeAll @BeforeAll
static void setup(@Autowired AdministratorService administratorService) { static void setup(
@Autowired AdministratorService administratorService,
@Autowired ProjectService projectService) {
administratorService.addAdministrator( administratorService.addAdministrator(
new Administrator( new Administrator(
"admin", "admin", "testAdmin@example.com", "testAdmin@example.com", "")); "admin",
"admin",
"testAdminEmpty@example.com",
"testAdmin@example.com",
""));
administratorService.addAdministrator(
new Administrator(
"admin2",
"admin2",
"testAdminFull@example.com",
"testAdmin@example.com",
""));
projectService.addNewProject(
new Project(
"sampleProjectAdminApiService",
null,
LocalDate.now(),
"ONGOING",
administratorService.getAdministratorByPrimaryMain(
"testAdminFull@example.com")));
} }
@Test @Test
void getProjectOfAdminIsEmpty() throws Exception { void getProjectOfAdminIsEmpty() {
Iterable<Project> projects = adminApiService.getProjectsOfAdmin("testAdmin@example.com"); Iterable<Project> projects =
adminApiService.getProjectsOfAdmin("testAdminEmpty@example.com");
List<Project> l = new ArrayList<>(); List<Project> l = new ArrayList<>();
projects.forEach(l::add); projects.forEach(l::add);
assertEquals(0, l.size()); assertEquals(0, l.size());
} }
@Test @Test
void getProjectOfInexistantAdminFails() throws Exception { void getProjectOfInexistantAdminFails() {
String nonExistentAdminEmail = "testInexistantAdmin@example.com"; String nonExistentAdminEmail = "testInexistantAdmin@example.com";
assertThrows( assertThrows(
@ -48,4 +72,15 @@ public class AdminApiServiceTest {
adminApiService.getProjectsOfAdmin(nonExistentAdminEmail); adminApiService.getProjectsOfAdmin(nonExistentAdminEmail);
}); });
} }
@Test
void getProjectOfAdminNotEmpty() {
Iterable<Project> projects =
adminApiService.getProjectsOfAdmin("testAdminFull@example.com");
List<Project> l = new ArrayList<>();
projects.forEach(l::add);
assertEquals(1, l.size());
Project p = l.getFirst();
assertEquals(p.getProjectName(), "sampleProjectAdminApiService");
}
} }