From 43f7bc03273de5c4356a776b2265ff605131328e Mon Sep 17 00:00:00 2001 From: devplant Date: Mon, 11 Oct 2021 10:42:01 +0300 Subject: [PATCH] RED-2325 Dossier Stats Endpoint -rework after comments, including integration tests --- .../v1/api/model/dossiertemplate/dossier/DossierStats.java | 2 +- .../peristence/v1/server/service/DossierStatsService.java | 4 ++++ .../v1/server/integration/tests/DossierStatsTest.java | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStats.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStats.java index 827ede7a8..31e7ed4b8 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStats.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStats.java @@ -14,13 +14,13 @@ import java.util.Map; @NoArgsConstructor @AllArgsConstructor public class DossierStats { - @JsonProperty("dossierId") private String dossierId; private int numberOfFiles; private int numberOfAnalysedPages; // sum of analysedPages private boolean hasRedactionsFilePresent; // true if at least one file in the dossier has redactions private boolean hasHintsNoRedactionsFilePresent; // true if at least one file in the dossier has hints but doesn't have redactions private boolean hasSuggestionsFilePresent; // true if at least one file in the dossier has suggestions + private boolean hasUpdatesFilePresent; //true if at least one file in the dossier has updates private boolean hasNoFlagsFilePresent; // true if at least one file in the dossier has none of the other flags private Map fileCountPerStatus; } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierStatsService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierStatsService.java index 151d4bb72..986d94b83 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierStatsService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierStatsService.java @@ -45,9 +45,13 @@ public class DossierStatsService { files.stream().filter(FileEntity::isHasSuggestions).findAny().ifPresent( (v) -> dossierStats.setHasSuggestionsFilePresent(true) ); + files.stream().filter(FileEntity::isHasUpdates).findAny().ifPresent( + (v) -> dossierStats.setHasUpdatesFilePresent(true) + ); files.stream().filter(f -> !f.isHasRedactions()) .filter(f -> !f.isHasHints()) .filter(f -> !f.isHasSuggestions()) + .filter(f -> !f.isHasUpdates()) .findAny().ifPresent( (v) -> dossierStats.setHasNoFlagsFilePresent(true) ); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierStatsTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierStatsTest.java index e329e0857..1eccb1052 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierStatsTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierStatsTest.java @@ -53,6 +53,7 @@ public class DossierStatsTest extends AbstractPersistenceServerServiceTest { file.setNumberOfAnalyses(NUMBER_PAGES_ANALYZED); file.setHasRedactions(true); file.setHasHints(true); + file.setHasUpdates(true); fileRepository.save(file); }); loadedFile1 = fileClient.getFileStatus(dossier1.getId(), file1.getId()); @@ -86,6 +87,7 @@ public class DossierStatsTest extends AbstractPersistenceServerServiceTest { assertThat(dossierStats.isHasRedactionsFilePresent()).isTrue(); assertThat(dossierStats.isHasHintsNoRedactionsFilePresent()).isFalse(); assertThat(dossierStats.isHasSuggestionsFilePresent()).isTrue(); + assertThat(dossierStats.isHasUpdatesFilePresent()).isTrue(); assertThat(dossierStats.isHasNoFlagsFilePresent()).isFalse(); assertThat(dossierStats.getFileCountPerStatus().get(FileStatus.PROCESSING)).isEqualTo(2); } @@ -105,6 +107,7 @@ public class DossierStatsTest extends AbstractPersistenceServerServiceTest { assertThat(dossierStats2.isHasRedactionsFilePresent()).isFalse(); assertThat(dossierStats2.isHasHintsNoRedactionsFilePresent()).isTrue(); assertThat(dossierStats2.isHasSuggestionsFilePresent()).isFalse(); + assertThat(dossierStats2.isHasUpdatesFilePresent()).isFalse(); assertThat(dossierStats2.isHasNoFlagsFilePresent()).isTrue(); assertThat(dossierStats2.getFileCountPerStatus().get(FileStatus.PROCESSING)).isEqualTo(1); assertThat(dossierStats2.getFileCountPerStatus().get(FileStatus.APPROVED)).isEqualTo(1);