diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateStatsService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateStatsService.java index fe926a970..dfe95a802 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateStatsService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierTemplateStatsService.java @@ -34,7 +34,13 @@ public class DossierTemplateStatsService { new DossierTemplateStats(e.getKey(), 0, new ArrayList<>()): new DossierTemplateStats(e.getKey(), e.getValue().size(), e.getValue())) .collect(Collectors.toList()); + // add the dossier templates with no dictionaries but with dossiers + Set dossierTemplatesIdsFounded = dossierTemplateStatsList.stream().map(DossierTemplateStats::getDossierTemplateId).collect(Collectors.toSet()); + dossierTemplateIds.removeAll(dossierTemplatesIdsFounded); + List dossierTemplateStatsListForDossierNotFound = dossierTemplateIds.stream() + .map(e -> new DossierTemplateStats(e, 0, new ArrayList<>())).collect(Collectors.toList()); + dossierTemplateStatsList.addAll(dossierTemplateStatsListForDossierNotFound); return dossierTemplateStatsList; } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateStatsTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateStatsTest.java index 9a45dccb3..68e1ea16a 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateStatsTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateStatsTest.java @@ -47,6 +47,21 @@ public class DossierTemplateStatsTest extends AbstractPersistenceServerServiceTe var dossier = dossierTesterAndProvider.provideTestDossier(); + var addedType1 = dictionaryClient.addType(Type.builder() + .type("type dossier") + .label("Dossier Redactions") + .hexColor("#fcba03") + .rank(100) + .description("Something") + .addToDictionaryAction(false) + .dossierTemplateId(dossier.getDossierTemplateId()) + .dossierId(dossier.getId()) + .build()); + + assertThat(addedType1).isNotNull(); + + var dossierTemplate2 = provideTestTemplate("dossierTemp2"); + var addedType = dictionaryClient.addType(Type.builder() .type(TYPE_ID_1) .label("Dossier Redactions") @@ -54,7 +69,7 @@ public class DossierTemplateStatsTest extends AbstractPersistenceServerServiceTe .rank(100) .description("Something") .addToDictionaryAction(false) - .dossierTemplateId(dossier.getDossierTemplateId()) + .dossierTemplateId(dossierTemplate2.getId()) .dossierId(null) .build()); @@ -74,7 +89,7 @@ public class DossierTemplateStatsTest extends AbstractPersistenceServerServiceTe .rank(102) .description("Something") .addToDictionaryAction(false) - .dossierTemplateId(dossier.getDossierTemplateId()) + .dossierTemplateId(dossierTemplate2.getId()) .dossierId(null) .build()); var entries2 = new ArrayList(); @@ -86,7 +101,7 @@ public class DossierTemplateStatsTest extends AbstractPersistenceServerServiceTe entryList = dictionaryClient.getEntriesForType(addedType2.getTypeId()); assertThat(entryList.size()).isEqualTo(entries2.size()); - var dossierTemplate2 = provideTestTemplate("dossierTemp2"); + var dossierTemplate3 = provideTestTemplate("dossierTemp3"); var addedType3 = dictionaryClient.addType(Type.builder() .type(TYPE_ID_3) .label("Dossier Redactions 3") @@ -94,7 +109,7 @@ public class DossierTemplateStatsTest extends AbstractPersistenceServerServiceTe .rank(100) .description("Something") .addToDictionaryAction(false) - .dossierTemplateId(dossierTemplate2.getId()) + .dossierTemplateId(dossierTemplate3.getId()) .dossierId(null) .build()); @@ -107,26 +122,27 @@ public class DossierTemplateStatsTest extends AbstractPersistenceServerServiceTe entryList = dictionaryClient.getEntriesForType(addedType3.getTypeId()); assertThat(entryList.size()).isEqualTo(entries3.size()); - var dossierTemplate3 = provideTestTemplate("dossierTemp3"); + var dossierTemplate4 = provideTestTemplate("dossierTemp4"); Set dossierTemplateIds = new HashSet<>(); dossierTemplateIds.add(dossier.getDossierTemplateId()); dossierTemplateIds.add(dossierTemplate2.getId()); dossierTemplateIds.add(dossierTemplate3.getId()); + dossierTemplateIds.add(dossierTemplate4.getId()); List dossierTemplateStatsList = dossierTemplateStatsClient.getDossierTemplateStats(dossierTemplateIds); assertThat(dossierTemplateStatsList.size()).isEqualTo(dossierTemplateIds.size()); - DossierTemplateStats dossierTemplateStats1 = dossierTemplateStatsList.stream().filter(d -> d.getDossierTemplateId().equals(dossier.getDossierTemplateId())).findAny().get(); + DossierTemplateStats dossierTemplateStats1 = dossierTemplateStatsList.stream().filter(d -> d.getDossierTemplateId().equals(dossierTemplate2.getId())).findAny().get(); - assertThat(dossierTemplateStats1.getDossierTemplateId()).isEqualTo(dossier.getDossierTemplateId()); + assertThat(dossierTemplateStats1.getDossierTemplateId()).isEqualTo(dossierTemplate2.getId()); assertThat(dossierTemplateStats1.getNumberOfDictionaries()).isEqualTo(2); List dictionarySummaryList = dossierTemplateStats1.getDictionarySummaryList(); assertThat(dictionarySummaryList.stream().filter(d -> d.getType().equals(TYPE_ID_1)).findAny().get().getEntriesCount()).isEqualTo(entries1.size()); assertThat(dictionarySummaryList.stream().filter(d -> d.getType().equals(TYPE_ID_2)).findAny().get().getEntriesCount()).isEqualTo(entries2.size()); // dossier template with no type - DossierTemplateStats dossierTemplateStats3 = dossierTemplateStatsList.stream().filter(d -> d.getDossierTemplateId().equals(dossierTemplate3.getId())).findAny().get(); - assertThat(dossierTemplateStats3.getDossierTemplateId()).isEqualTo(dossierTemplate3.getId()); + DossierTemplateStats dossierTemplateStats3 = dossierTemplateStatsList.stream().filter(d -> d.getDossierTemplateId().equals(dossierTemplate4.getId())).findAny().get(); + assertThat(dossierTemplateStats3.getDossierTemplateId()).isEqualTo(dossierTemplate4.getId()); assertThat(dossierTemplateStats3.getNumberOfDictionaries()).isZero(); // delete some entries, stats should be updated @@ -137,7 +153,7 @@ public class DossierTemplateStatsTest extends AbstractPersistenceServerServiceTe dossierTemplateStatsList = dossierTemplateStatsClient.getDossierTemplateStats(dossierTemplateIds); assertThat(dossierTemplateStatsList.size()).isEqualTo(dossierTemplateIds.size()); - DossierTemplateStats dossierTemplateStats2 = dossierTemplateStatsList.stream().filter(d -> d.getDossierTemplateId().equals(dossier.getDossierTemplateId())).findAny().get(); + DossierTemplateStats dossierTemplateStats2 = dossierTemplateStatsList.stream().filter(d -> d.getDossierTemplateId().equals(dossierTemplate2.getId())).findAny().get(); dictionarySummaryList = dossierTemplateStats2.getDictionarySummaryList(); assertThat(dictionarySummaryList.stream().filter(d -> d.getType().equals(TYPE_ID_2)).findAny().get().getEntriesCount()).isEqualTo(entries2.size() - entries22.size());