From 1106cf84781a9124bb93de504a14317a6639d2c7 Mon Sep 17 00:00:00 2001 From: Pierre Tellier Date: Sun, 9 Mar 2025 21:06:31 +0100 Subject: [PATCH] feat: added tests. --- .../myinpulse/AdminApiServiceTest.java | 51 +++++++++++++++++++ .../myinpulse/MyinpulseApplicationTests.java | 2 + 2 files changed, 53 insertions(+) create mode 100644 MyINPulse-back/src/test/java/enseirb/myinpulse/AdminApiServiceTest.java diff --git a/MyINPulse-back/src/test/java/enseirb/myinpulse/AdminApiServiceTest.java b/MyINPulse-back/src/test/java/enseirb/myinpulse/AdminApiServiceTest.java new file mode 100644 index 0000000..32068bb --- /dev/null +++ b/MyINPulse-back/src/test/java/enseirb/myinpulse/AdminApiServiceTest.java @@ -0,0 +1,51 @@ +package enseirb.myinpulse; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import enseirb.myinpulse.model.Administrator; +import enseirb.myinpulse.model.Project; +import enseirb.myinpulse.service.AdminApiService; +import enseirb.myinpulse.service.database.AdministratorService; + +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.server.ResponseStatusException; + +import java.util.ArrayList; +import java.util.List; + +@SpringBootTest +@Transactional +public class AdminApiServiceTest { + @Autowired private AdminApiService adminApiService; + + @BeforeAll + static void setup(@Autowired AdministratorService administratorService) { + administratorService.addAdministrator( + new Administrator( + "admin", "admin", "testAdmin@example.com", "testAdmin@example.com", "")); + } + + @Test + void getProjectOfAdminIsEmpty() throws Exception { + Iterable projects = adminApiService.getProjectsOfAdmin("testAdmin@example.com"); + List l = new ArrayList<>(); + projects.forEach(l::add); + assertEquals(0, l.size()); + } + + @Test + void getProjectOfInexistantAdminFails() throws Exception { + String nonExistentAdminEmail = "testInexistantAdmin@example.com"; + + assertThrows( + ResponseStatusException.class, + () -> { + adminApiService.getProjectsOfAdmin(nonExistentAdminEmail); + }); + } +} diff --git a/MyINPulse-back/src/test/java/enseirb/myinpulse/MyinpulseApplicationTests.java b/MyINPulse-back/src/test/java/enseirb/myinpulse/MyinpulseApplicationTests.java index 04669ca..c97449e 100644 --- a/MyINPulse-back/src/test/java/enseirb/myinpulse/MyinpulseApplicationTests.java +++ b/MyINPulse-back/src/test/java/enseirb/myinpulse/MyinpulseApplicationTests.java @@ -1,5 +1,6 @@ package enseirb.myinpulse; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -7,5 +8,6 @@ import org.springframework.boot.test.context.SpringBootTest; class MyinpulseApplicationTests { @Test + @DisplayName("contextLoad => Test if the context can load, i.e. the application can start") void contextLoads() {} }