Initial commit
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
package dev.lions.btpxpress.adapter.http;
|
||||
|
||||
import static io.restassured.RestAssured.given;
|
||||
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
import io.restassured.http.ContentType;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Tests pour ChantierResource - Tests d'intégration REST MÉTIER: Tests des endpoints de gestion des
|
||||
* chantiers
|
||||
*/
|
||||
@QuarkusTest
|
||||
@DisplayName("🏗️ Tests REST - Chantiers")
|
||||
public class ChantierResourceTest {
|
||||
|
||||
@Test
|
||||
@DisplayName("📋 GET /api/chantiers - Lister tous les chantiers")
|
||||
void testGetAllChantiers() {
|
||||
given().when().get("/api/chantiers").then().statusCode(200).contentType(ContentType.JSON);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("🔍 GET /api/chantiers/{id} - Récupérer chantier par ID invalide")
|
||||
void testGetChantierByInvalidId() {
|
||||
given()
|
||||
.when()
|
||||
.get("/api/chantiers/invalid-uuid")
|
||||
.then()
|
||||
.statusCode(400); // Bad Request pour UUID invalide
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("🔍 GET /api/chantiers/{id} - Récupérer chantier inexistant")
|
||||
void testGetChantierByNonExistentId() {
|
||||
given()
|
||||
.when()
|
||||
.get("/api/chantiers/123e4567-e89b-12d3-a456-426614174000")
|
||||
.then()
|
||||
.statusCode(404); // Not Found attendu
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("📊 GET /api/chantiers/stats - Statistiques chantiers")
|
||||
void testGetChantiersStats() {
|
||||
given().when().get("/api/chantiers/stats").then().statusCode(200).contentType(ContentType.JSON);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("✅ GET /api/chantiers/actifs - Lister chantiers actifs")
|
||||
void testGetChantiersActifs() {
|
||||
given()
|
||||
.when()
|
||||
.get("/api/chantiers/actifs")
|
||||
.then()
|
||||
.statusCode(200)
|
||||
.contentType(ContentType.JSON);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("🚫 POST /api/chantiers - Créer chantier sans données")
|
||||
void testCreateChantierWithoutData() {
|
||||
given()
|
||||
.contentType(ContentType.JSON)
|
||||
.when()
|
||||
.post("/api/chantiers")
|
||||
.then()
|
||||
.statusCode(400); // Bad Request attendu
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("🚫 POST /api/chantiers - Créer chantier avec données invalides")
|
||||
void testCreateChantierWithInvalidData() {
|
||||
String invalidChantierData =
|
||||
"""
|
||||
{
|
||||
"nom": "",
|
||||
"adresse": "",
|
||||
"montantPrevu": -1000
|
||||
}
|
||||
""";
|
||||
|
||||
given()
|
||||
.contentType(ContentType.JSON)
|
||||
.body(invalidChantierData)
|
||||
.when()
|
||||
.post("/api/chantiers")
|
||||
.then()
|
||||
.statusCode(400); // Validation error attendu
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("🚫 PUT /api/chantiers/{id} - Modifier chantier inexistant")
|
||||
void testUpdateNonExistentChantier() {
|
||||
String chantierData =
|
||||
"""
|
||||
{
|
||||
"nom": "Chantier Modifié",
|
||||
"adresse": "Nouvelle Adresse",
|
||||
"montantPrevu": 150000
|
||||
}
|
||||
""";
|
||||
|
||||
given()
|
||||
.contentType(ContentType.JSON)
|
||||
.body(chantierData)
|
||||
.when()
|
||||
.put("/api/chantiers/123e4567-e89b-12d3-a456-426614174000")
|
||||
.then()
|
||||
.statusCode(400); // Bad Request pour UUID inexistant
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("🚫 DELETE /api/chantiers/{id} - Supprimer chantier inexistant")
|
||||
void testDeleteNonExistentChantier() {
|
||||
given()
|
||||
.when()
|
||||
.delete("/api/chantiers/123e4567-e89b-12d3-a456-426614174000")
|
||||
.then()
|
||||
.statusCode(400); // Bad Request pour UUID inexistant
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("📊 GET /api/chantiers/count - Compter les chantiers")
|
||||
void testCountChantiers() {
|
||||
given().when().get("/api/chantiers/count").then().statusCode(200).contentType(ContentType.JSON);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user