Sync: code local unifié
Synchronisation du code source local (fait foi). Signed-off-by: lions dev Team
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package dev.lions.unionflow.server.service;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import dev.lions.unionflow.server.api.dto.analytics.KPITrendResponse;
|
||||
import dev.lions.unionflow.server.api.enums.analytics.PeriodeAnalyse;
|
||||
import dev.lions.unionflow.server.api.enums.analytics.TypeMetrique;
|
||||
import io.quarkus.test.InjectMock;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
import jakarta.inject.Inject;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@QuarkusTest
|
||||
class TrendAnalysisServiceTest {
|
||||
|
||||
@Inject
|
||||
TrendAnalysisService trendService;
|
||||
|
||||
@InjectMock
|
||||
KPICalculatorService kpiCalculatorService;
|
||||
|
||||
@Test
|
||||
@DisplayName("calculerTendance génère des statistiques et des prédictions")
|
||||
void calculerTendance_generatesStats() {
|
||||
UUID organisationId = UUID.randomUUID();
|
||||
|
||||
// Mocking KPI calculator to return fixed values for different points
|
||||
when(kpiCalculatorService.calculerTousLesKPI(eq(organisationId), any(), any()))
|
||||
.thenReturn(Map.of(TypeMetrique.NOMBRE_MEMBRES_ACTIFS, new BigDecimal("100")))
|
||||
.thenReturn(Map.of(TypeMetrique.NOMBRE_MEMBRES_ACTIFS, new BigDecimal("110")))
|
||||
.thenReturn(Map.of(TypeMetrique.NOMBRE_MEMBRES_ACTIFS, new BigDecimal("120")));
|
||||
|
||||
KPITrendResponse response = trendService.calculerTendance(
|
||||
TypeMetrique.NOMBRE_MEMBRES_ACTIFS, PeriodeAnalyse.CE_MOIS, organisationId);
|
||||
|
||||
assertThat(response).isNotNull();
|
||||
assertThat(response.getPointsDonnees()).isNotEmpty();
|
||||
assertThat(response.getValeurMoyenne()).isNotNull();
|
||||
assertThat(response.getTendanceGenerale()).isNotNull();
|
||||
assertThat(response.getPredictionProchainePeriode()).isNotNull();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user