diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticRemoteService.java b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticRemoteService.java index cd508d6198827251fd4f661a7e0a4815570fa898..149ade586adf5b4bd3facf9fe93546b5c213beaf 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticRemoteService.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/statistic/StatisticRemoteService.java @@ -25,9 +25,11 @@ class StatisticRemoteService { static final String COUNT_VORGANG_STATUS_RESULT_NAME_FORMAT = "countVorgangStatus_%s"; static final String COUNT_WIEDERVORLAGE_NEXT_FRIST_RESULT_NAME = "countWiedervorlage"; static final String EXISTS_WIEDERVORLAGE_OVERDUE_RESULT_NAME = "existsWiedervorlageOverdue"; + static final String COUNT_VORGAENGE_WITH_UNREAD_MESSAGES_RESULT_NAME = "countVorgaengeWithUnreadMessages"; static final String STATUS_PATH = "Vorgang.status"; static final String WIEDERVORLAGE_NEXT_FRIST_PATH_TEMPLATE = "ClientAttribute.%s.nextWiedervorlageFrist"; + static final String VORGAENGE_WITH_UNREAD_MESSAGES_PATH = "ClientAttribute.OzgCloud_NachrichtenManager.hasNewPostfachNachricht"; static final String OPERAND_TODAY_DATE = "today()"; @@ -93,4 +95,13 @@ class StatisticRemoteService { .map(mapper::toResult) .collect(Collectors.toMap(StatisticResult::getName, Function.identity())); } + + public GrpcVorgangStatisticQuery buildCountVorgaengeWithUnreadMessagesQuery() { + return GrpcVorgangStatisticQuery.newBuilder() + .setResultName(COUNT_VORGAENGE_WITH_UNREAD_MESSAGES_RESULT_NAME) + .setPath(VORGAENGE_WITH_UNREAD_MESSAGES_PATH) + .setGroupMethod(GroupMethod.COUNT) + .setOperator(Operator.UNEQUAL) + .build(); + } } \ No newline at end of file diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticRemoteServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticRemoteServiceTest.java index 5716d65c2197741fbf8d03e498f3b283e398cc17..d105d3284071fb74a01b16a948d7e3f4ddcc498b 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticRemoteServiceTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/statistic/StatisticRemoteServiceTest.java @@ -270,4 +270,40 @@ class StatisticRemoteServiceTest { .hasEntrySatisfying(RESULT_NAME, statisticResult -> assertThat(statisticResult.getIntValue()).isEqualTo(RESULT_INT)); } } + + @Nested + class TestBuildCountVorgaengeWithUnreadMessagesQuery { + + @Test + void shouldHaveResultName() { + var query = callService(); + + assertThat(query.getResultName()).isEqualTo(COUNT_VORGAENGE_WITH_UNREAD_MESSAGES_RESULT_NAME); + } + + @Test + void shouldHavePath() { + var query = callService(); + + assertThat(query.getPath()).isEqualTo(VORGAENGE_WITH_UNREAD_MESSAGES_PATH); + } + + @Test + void shouldHaveGroupingMethod() { + var query = callService(); + + assertThat(query.getGroupMethod()).isEqualTo(GroupMethod.COUNT); + } + + @Test + void shouldHaveOperator() { + var query = callService(); + + assertThat(query.getOperator()).isEqualTo(Operator.UNEQUAL); + } + + private GrpcVorgangStatisticQuery callService() { + return service.buildCountVorgaengeWithUnreadMessagesQuery(); + } + } } \ No newline at end of file