RED-2325 Dossier Stats Endpoint
-rework after comments, including integration tests
This commit is contained in:
parent
b688da9c56
commit
43f7bc0327
@ -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<FileStatus,Integer> fileCountPerStatus;
|
||||
}
|
||||
|
||||
@ -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)
|
||||
);
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user