diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/ByStatus.java b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/ByStatus.java index 6f0a4929e00ed92387cf4cf0d7394ce698a2dd07..852c8cfc857519ad795c68c9c81930f6728e4800 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/ByStatus.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/ByStatus.java @@ -39,4 +39,5 @@ class ByStatus { private int abgeschlossen; private int verworfen; private int zuLoeschen; + private int weitergeleitet; } \ No newline at end of file diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticService.java b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticService.java index 9e8cbd8c31459b379a51b42b5334c9babb2bcf07..26cbc36abf3014b07ef2016278768d552a64c18c 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticService.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticService.java @@ -28,26 +28,26 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import de.ozgcloud.alfa.common.user.CurrentUserService; import de.ozgcloud.alfa.common.user.UserRole; import de.ozgcloud.alfa.vorgang.Vorgang.VorgangStatus; +import lombok.RequiredArgsConstructor; @Service +@RequiredArgsConstructor class StatisticService { - static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, - VorgangStatus.IN_BEARBEITUNG, VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN); - static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_POSTSTELLE_USER = Collections.emptyList(); - static final List<VorgangStatus> COUNT_BY_VORGANG_EINHEITLICHER_ANSPRECHPARTNER = Collections.emptyList(); + private static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, + VorgangStatus.IN_BEARBEITUNG, VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, VorgangStatus.ZU_LOESCHEN, + VorgangStatus.WEITERGELEITET); + private static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_POSTSTELLE_USER = Collections.emptyList(); + private static final List<VorgangStatus> COUNT_BY_VORGANG_EINHEITLICHER_ANSPRECHPARTNER = Collections.emptyList(); - @Autowired - private StatisticRemoteService remoteService; + private final StatisticRemoteService remoteService; - @Autowired - private CurrentUserService currentUserService; + private final CurrentUserService currentUserService; public Statistic getVorgaengeStatistic() { var response = remoteService.getVorgaengeStatistics(getCountByVorgangStatusList()); @@ -80,6 +80,7 @@ class StatisticService { .verworfen(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.VERWORFEN))) .inBearbeitung(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.IN_BEARBEITUNG))) .zuLoeschen(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.ZU_LOESCHEN))) + .weitergeleitet(getIntResult(response, remoteService.buildCountByStatusResultName(VorgangStatus.WEITERGELEITET))) .build()) .build(); } diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticServiceTest.java index 61204730a5b571ba703774b95289d9e18a67ff7c..180fe5281287c65716a382821456f55e859f82b3 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticServiceTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticServiceTest.java @@ -24,12 +24,12 @@ package de.ozgcloud.alfa.statistic; import static de.ozgcloud.alfa.statistic.StatisticRemoteService.*; -import static de.ozgcloud.alfa.statistic.StatisticService.*; import static org.assertj.core.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Collections; +import java.util.List; import java.util.Map; import org.junit.jupiter.api.BeforeEach; @@ -155,6 +155,15 @@ class StatisticServiceTest { assertThat(statistic.getByStatus().getZuLoeschen()).isEqualTo(StatisticResultTestFactory.INT_VALUE); } + @Test + void shouldContainCountByStatusWeitergeleitet() { + var statistic = service.buildGetVorgaengeStatisticResult(Map.of( + String.format(COUNT_VORGANG_STATUS_RESULT_NAME_FORMAT, VorgangStatus.WEITERGELEITET.name()), + StatisticResultTestFactory.create())); + + assertThat(statistic.getByStatus().getWeitergeleitet()).isEqualTo(StatisticResultTestFactory.INT_VALUE); + } + @Test void shouldContainDefaultCountByStatus() { var statistic = service.buildGetVorgaengeStatisticResult(Map.of()); @@ -174,6 +183,10 @@ class StatisticServiceTest { @Nested class TestGetCountByVorgangStatusList { + private static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER = List.of(VorgangStatus.NEU, VorgangStatus.ANGENOMMEN, + VorgangStatus.IN_BEARBEITUNG, VorgangStatus.BESCHIEDEN, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.VERWORFEN, + VorgangStatus.ZU_LOESCHEN, VorgangStatus.WEITERGELEITET); + @Test void shouldGetForVerwalungUser() { when(currentUserService.hasRole(UserRole.VERWALTUNG_USER)).thenReturn(true); @@ -190,7 +203,7 @@ class StatisticServiceTest { var result = service.getCountByVorgangStatusList(); - assertThat(result).containsAll(COUNT_BY_VORGANG_STATUS_POSTSTELLE_USER); + assertThat(result).containsAll(Collections.emptyList()); } @Test @@ -201,7 +214,7 @@ class StatisticServiceTest { var result = service.getCountByVorgangStatusList(); - assertThat(result).containsAll(COUNT_BY_VORGANG_EINHEITLICHER_ANSPRECHPARTNER); + assertThat(result).containsAll(Collections.emptyList()); } @Test @@ -222,6 +235,7 @@ class StatisticServiceTest { private final Statistic statistic = StatisticTestFactory.create(); private final Map<String, StatisticResult> getVorgangStatisticsResponse = Map.of(COUNT_WIEDERVORLAGE_NEXT_FRIST_RESULT_NAME, StatisticResultTestFactory.create()); + private static final List<VorgangStatus> COUNT_BY_VORGANG_STATUS_VERWALTUNG_USER = List.of(VorgangStatus.NEU); @BeforeEach void beforeEach() {