72 lines
2.6 KiB
Java
72 lines
2.6 KiB
Java
package dev.lions.unionflow.server.service;
|
|
|
|
import dev.lions.unionflow.server.api.dto.admin.request.CreateAuditLogRequest;
|
|
import dev.lions.unionflow.server.api.dto.admin.response.AuditLogResponse;
|
|
import io.quarkus.test.junit.QuarkusTest;
|
|
import io.quarkus.test.TestTransaction;
|
|
import jakarta.inject.Inject;
|
|
import org.junit.jupiter.api.DisplayName;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
@QuarkusTest
|
|
class AuditServiceTest {
|
|
|
|
@Inject
|
|
AuditService auditService;
|
|
|
|
@Test
|
|
@TestTransaction
|
|
@DisplayName("enregistrerLog crée un log et retourne un DTO")
|
|
void enregistrerLog_createsAndReturnsDto() {
|
|
CreateAuditLogRequest request = CreateAuditLogRequest.builder()
|
|
.typeAction("TEST_ACTION")
|
|
.severite("INFO")
|
|
.utilisateur("test@test.com")
|
|
.module("TEST")
|
|
.description("Log de test service")
|
|
.dateHeure(LocalDateTime.now())
|
|
.build();
|
|
|
|
AuditLogResponse response = auditService.enregistrerLog(request);
|
|
assertThat(response).isNotNull();
|
|
assertThat(response.getId()).isNotNull();
|
|
assertThat(response.getTypeAction()).isEqualTo("TEST_ACTION");
|
|
assertThat(response.getSeverite()).isEqualTo("INFO");
|
|
}
|
|
|
|
@Test
|
|
@TestTransaction
|
|
@DisplayName("listerTous retourne une structure paginée")
|
|
void listerTous_returnsPagedStructure() {
|
|
Map<String, Object> result = auditService.listerTous(0, 10, "dateHeure", "desc");
|
|
assertThat(result).containsKeys("data", "total", "page", "size", "totalPages");
|
|
assertThat(result.get("data")).isInstanceOf(List.class);
|
|
assertThat(result.get("page")).isEqualTo(0);
|
|
assertThat(result.get("size")).isEqualTo(10);
|
|
}
|
|
|
|
@Test
|
|
@TestTransaction
|
|
@DisplayName("rechercher avec filtres null retourne une structure paginée")
|
|
void rechercher_withNullFilters_returnsPagedStructure() {
|
|
Map<String, Object> result = auditService.rechercher(
|
|
null, null, null, null, null, null, null,
|
|
0, 5);
|
|
assertThat(result).containsKeys("data", "total", "page", "size", "totalPages");
|
|
}
|
|
|
|
@Test
|
|
@TestTransaction
|
|
@DisplayName("getStatistiques retourne total, success, errors, warnings")
|
|
void getStatistiques_returnsStats() {
|
|
Map<String, Object> stats = auditService.getStatistiques();
|
|
assertThat(stats).containsKeys("total", "success", "errors", "warnings");
|
|
}
|
|
}
|