From 96e09c70c5d1c441114951fc9525c4a5ba812547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Henninger?= Date: Wed, 8 Jan 2025 14:40:12 +0100 Subject: [PATCH 01/12] Rename idUE, idQuest and IdCampaign --- .../adapter/LunaticJsonAdapter.java | 6 +- .../controller/adapter/LunaticXmlAdapter.java | 6 +- .../rest/responses/ResponseController.java | 12 ++-- .../model/surveyunit/SurveyUnitModel.java | 14 ++--- .../service/surveyunit/SurveyUnitService.java | 2 +- .../genesis/domain/utils/DataVerifier.java | 12 ++-- .../adapter/SurveyUnitMongoAdapter.java | 2 +- .../surveyunit/SurveyUnitDocument.java | 6 +- .../mappers/SurveyUnitDocumentMapper.java | 2 - .../functional_tests/MainDefinitions.java | 16 +++--- .../adapter/LunaticXmlAdapterTest.java | 4 +- .../rest/HealthCheckControllerTest.java | 6 +- .../controller/rest/UtilsControllerTest.java | 12 ++-- .../responses/ResponseControllerTest.java | 8 +-- .../controller/rest/responses/Utils.java | 12 ++-- .../controller/utils/DataVerifierTest.java | 28 +++++----- .../model/surveyunit/SurveyUnitModelTest.java | 8 +-- .../domain/service/SurveyUnitServiceTest.java | 56 +++++++++---------- .../domain/utils/DataVerifierTest.java | 12 ++-- .../SurveyUnitModelMongoAdapterTest.java | 26 ++++----- .../SurveyUnitDocumentMapperImplTest.java | 36 ++++++------ .../stubs/SurveyUnitPersistencePortStub.java | 30 +++++----- 22 files changed, 157 insertions(+), 159 deletions(-) diff --git a/src/main/java/fr/insee/genesis/controller/adapter/LunaticJsonAdapter.java b/src/main/java/fr/insee/genesis/controller/adapter/LunaticJsonAdapter.java index a818967e..8892594c 100644 --- a/src/main/java/fr/insee/genesis/controller/adapter/LunaticJsonAdapter.java +++ b/src/main/java/fr/insee/genesis/controller/adapter/LunaticJsonAdapter.java @@ -13,9 +13,9 @@ public class LunaticJsonAdapter { public SurveyUnitModel convert(LunaticJsonSurveyUnit su){ return SurveyUnitModel.builder() - .idQuest(su.getIdQuest()) - .idCampaign("") - .idUE(su.getIdUE()) + .questionnaireId(su.getIdQuest()) + .campaignId("") + .interrogationId(su.getIdUE()) .state(DataState.COLLECTED) .mode(Mode.WEB) .recordDate(LocalDateTime.now()) diff --git a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java index fbe8d0b6..6835a687 100644 --- a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java +++ b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java @@ -70,9 +70,9 @@ public static List convert(LunaticXmlSurveyUnit su, VariablesMa */ private static SurveyUnitModel getStateDataFromSurveyUnit(LunaticXmlSurveyUnit su, VariablesMap variablesMap, String idCampaign, DataState dataState, Mode mode) { SurveyUnitModel surveyUnitModel = SurveyUnitModel.builder() - .idQuest(su.getQuestionnaireModelId()) - .idCampaign(idCampaign) - .idUE(su.getId()) + .questionnaireId(su.getQuestionnaireModelId()) + .campaignId(idCampaign) + .interrogationId(su.getId()) .state(dataState) .mode(mode) .recordDate(LocalDateTime.now()) diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java index cc6fdcaa..9c5c7091 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java @@ -319,9 +319,9 @@ public ResponseEntity getLatestByUEOneObject(@RequestParam outputExternalVariables.addAll(response.getExternalVariables()); }); return ResponseEntity.ok(SurveyUnitSimplified.builder() - .idQuest(responses.getFirst().getIdQuest()) - .idCampaign(responses.getFirst().getIdCampaign()) - .idUE(responses.getFirst().getIdUE()) + .idQuest(responses.getFirst().getQuestionnaireId()) + .idCampaign(responses.getFirst().getCampaignId()) + .idUE(responses.getFirst().getInterrogationId()) .variablesUpdate(outputVariables) .externalVariables(outputExternalVariables) .build()); @@ -347,9 +347,9 @@ public ResponseEntity> getLatestForUEList(@RequestPar }); if (!outputVariables.isEmpty() || !outputExternalVariables.isEmpty()) { results.add(SurveyUnitSimplified.builder() - .idQuest(responses.getFirst().getIdQuest()) - .idCampaign(responses.getFirst().getIdCampaign()) - .idUE(responses.getFirst().getIdUE()) + .idQuest(responses.getFirst().getQuestionnaireId()) + .idCampaign(responses.getFirst().getCampaignId()) + .idUE(responses.getFirst().getInterrogationId()) .mode(mode) .variablesUpdate(outputVariables) .externalVariables(outputExternalVariables) diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModel.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModel.java index ee04645b..8ef52f08 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModel.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModel.java @@ -16,9 +16,9 @@ @AllArgsConstructor public class SurveyUnitModel { - private String idQuest; - private String idCampaign; - private String idUE; + private String questionnaireId; + private String campaignId; + private String interrogationId; private DataState state; private Mode mode; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'hh:mm") @@ -29,8 +29,8 @@ public class SurveyUnitModel { private List collectedVariables; private List externalVariables; - public SurveyUnitModel(String idUE, Mode mode) { - this.idUE = idUE; + public SurveyUnitModel(String interrogationId, Mode mode) { + this.interrogationId = interrogationId; this.mode = mode; } @@ -43,11 +43,11 @@ public boolean equals(Object o) { return false; } SurveyUnitModel that = (SurveyUnitModel) o; - return Objects.equals(idUE, that.idUE) && Objects.equals(mode, that.mode); + return Objects.equals(interrogationId, that.interrogationId) && Objects.equals(mode, that.mode); } @Override public int hashCode() { - return Objects.hash(idUE) + Objects.hash(mode); + return Objects.hash(interrogationId) + Objects.hash(mode); } } diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index e44ae9e7..2c2af33e 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -136,7 +136,7 @@ public SurveyUnitDto findLatestValuesByStateByIdAndByIdQuestionnaire(String idUE public List findDistinctIdUEsByIdQuestionnaire(String idQuestionnaire) { List surveyUnitModels = surveyUnitPersistencePort.findIdUEsByIdQuestionnaire(idQuestionnaire); List suIds = new ArrayList<>(); - surveyUnitModels.forEach(surveyUnitDto -> suIds.add(new SurveyUnitId(surveyUnitDto.getIdUE()))); + surveyUnitModels.forEach(surveyUnitDto -> suIds.add(new SurveyUnitId(surveyUnitDto.getInterrogationId()))); return suIds.stream().distinct().toList(); } diff --git a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java index ab9a5b6d..e3940e3c 100644 --- a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java +++ b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java @@ -48,7 +48,7 @@ public static void verifySurveyUnits(List suDtosList, Variables List suDtosListForced = new ArrayList<>(); // Created FORCED SU DTOs for(String idUE : getIdUEs(suDtosList)) { // For each id of the list - List srcSuDtosOfIdUE = suDtosList.stream().filter(element -> element.getIdUE().equals(idUE)).toList(); + List srcSuDtosOfIdUE = suDtosList.stream().filter(element -> element.getInterrogationId().equals(idUE)).toList(); List correctedCollectedVariables = new ArrayList<>(); List correctedExternalVariables = new ArrayList<>(); @@ -71,11 +71,11 @@ private static SurveyUnitModel createForcedDto( List correctedCollectedVariables, List correctedExternalVariables ) { - SurveyUnitModel sampleSuDto = suDtosList.stream().filter(element -> element.getIdUE().equals(idUE)).toList().getFirst(); + SurveyUnitModel sampleSuDto = suDtosList.stream().filter(element -> element.getInterrogationId().equals(idUE)).toList().getFirst(); SurveyUnitModel newForcedSuDto = SurveyUnitModel.builder() - .idQuest(sampleSuDto.getIdQuest()) - .idCampaign(sampleSuDto.getIdCampaign()) - .idUE(idUE) + .questionnaireId(sampleSuDto.getQuestionnaireId()) + .campaignId(sampleSuDto.getCampaignId()) + .interrogationId(idUE) .state(DataState.FORCED) .mode(sampleSuDto.getMode()) .recordDate(LocalDateTime.now()) @@ -114,7 +114,7 @@ private static SurveyUnitModel createForcedDto( private static Set getIdUEs(List suDtosList) { Set idUEs = new HashSet<>(); for(SurveyUnitModel surveyUnitModel : suDtosList){ - idUEs.add(surveyUnitModel.getIdUE()); + idUEs.add(surveyUnitModel.getInterrogationId()); } return idUEs; diff --git a/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java b/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java index d8a64d10..be5daced 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java +++ b/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java @@ -59,7 +59,7 @@ public List findByIdUEsAndIdQuestionnaire(List List surveyUnits= new ArrayList<>(); // TODO: 18-10-2023 : find a way to do this in one query idUEs.forEach(su -> { - List docs = mongoRepository.findByIdUEAndIdQuestionnaire(su.getIdUE(), idQuestionnaire); + List docs = mongoRepository.findByIdUEAndIdQuestionnaire(su.getInterrogationId(), idQuestionnaire); surveyUnits.addAll(docs); }); return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits); diff --git a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/SurveyUnitDocument.java b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/SurveyUnitDocument.java index f4b0f562..16417b02 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/SurveyUnitDocument.java +++ b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/SurveyUnitDocument.java @@ -14,9 +14,9 @@ @CompoundIndex(name = "idQuestionnaire_1_idCampaign_1", def = "{'idQuestionnaire': 1, 'idCampaign': 1}") @CompoundIndex(name = "idQuestionnaire_1_idUE_1", def = "{'idQuestionnaire': 1, 'idUE': 1}") public class SurveyUnitDocument { - private String idCampaign; - private String idUE; - private String idQuestionnaire; + private String campaignId; + private String interrogationId; + private String questionnaireId; private String state; private String mode; private LocalDateTime recordDate; diff --git a/src/main/java/fr/insee/genesis/infrastructure/mappers/SurveyUnitDocumentMapper.java b/src/main/java/fr/insee/genesis/infrastructure/mappers/SurveyUnitDocumentMapper.java index db0ada3b..f89ba3e1 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/mappers/SurveyUnitDocumentMapper.java +++ b/src/main/java/fr/insee/genesis/infrastructure/mappers/SurveyUnitDocumentMapper.java @@ -12,10 +12,8 @@ public interface SurveyUnitDocumentMapper { SurveyUnitDocumentMapper INSTANCE = Mappers.getMapper(SurveyUnitDocumentMapper.class); - @Mapping(source = "idQuestionnaire", target = "idQuest") SurveyUnitModel documentToModel(SurveyUnitDocument surveyUnit); - @Mapping(source = "idQuest", target = "idQuestionnaire") SurveyUnitDocument modelToDocument(SurveyUnitModel surveyUnitModel); List listDocumentToListModel(List surveyUnits); diff --git a/src/test/java/cucumber/functional_tests/MainDefinitions.java b/src/test/java/cucumber/functional_tests/MainDefinitions.java index 95deef9c..cedc5206 100644 --- a/src/test/java/cucumber/functional_tests/MainDefinitions.java +++ b/src/test/java/cucumber/functional_tests/MainDefinitions.java @@ -130,7 +130,7 @@ public void check_surveyunits_by_state(int expectedCount, String expectedStatus) public void check_expected_datastate_dto(String surveyUnitId, String expectedDataState) { Assertions.assertThat(this.surveyUnitModels).filteredOn(surveyUnitDto -> surveyUnitDto.getState().toString().equals(expectedDataState) - && surveyUnitDto.getIdUE().equals(surveyUnitId) + && surveyUnitDto.getInterrogationId().equals(surveyUnitId) ).isNotEmpty(); } @@ -138,7 +138,7 @@ public void check_expected_datastate_dto(String surveyUnitId, String expectedDat public void check_unexpected_datastate_dto(String surveyUnitId, String unexpectedDataState) { Assertions.assertThat(this.surveyUnitModels).filteredOn(surveyUnitDto -> surveyUnitDto.getState().toString().equals(unexpectedDataState) - && surveyUnitDto.getIdUE().equals(surveyUnitId) + && surveyUnitDto.getInterrogationId().equals(surveyUnitId) ).isEmpty(); } @@ -147,12 +147,12 @@ public void check_survey_unit_dto_content(String dataState, String surveyUnitId, //Get DTO Assertions.assertThat(this.surveyUnitModels).filteredOn(surveyUnitDto -> surveyUnitDto.getState().toString().equals(dataState) - && surveyUnitDto.getIdUE().equals(surveyUnitId) + && surveyUnitDto.getInterrogationId().equals(surveyUnitId) ).isNotEmpty(); Optional concernedDtoOptional = this.surveyUnitModels.stream().filter(dto -> dto.getState().toString().equals(dataState) - && dto.getIdUE().equals(surveyUnitId) + && dto.getInterrogationId().equals(surveyUnitId) ).findFirst(); Assertions.assertThat(concernedDtoOptional).isPresent(); @@ -182,12 +182,12 @@ public void external_variable_volumetric_check(int expectedNumberOfValues, Strin //Get DTO Assertions.assertThat(this.surveyUnitModels).filteredOn(surveyUnitDto -> surveyUnitDto.getState().equals(DataState.COLLECTED) - && surveyUnitDto.getIdUE().equals(surveyUnitId) + && surveyUnitDto.getInterrogationId().equals(surveyUnitId) ).isNotEmpty(); Optional concernedDtoOptional = this.surveyUnitModels.stream().filter(dto -> dto.getState().equals(DataState.COLLECTED) - && dto.getIdUE().equals(surveyUnitId) + && dto.getInterrogationId().equals(surveyUnitId) ).findFirst(); Assertions.assertThat(concernedDtoOptional).isPresent(); @@ -216,12 +216,12 @@ public void external_variable_content_check(String externalVariableName, String //Get DTO Assertions.assertThat(this.surveyUnitModels).filteredOn(surveyUnitDto -> surveyUnitDto.getState().equals(DataState.COLLECTED) - && surveyUnitDto.getIdUE().equals(surveyUnitId) + && surveyUnitDto.getInterrogationId().equals(surveyUnitId) ).isNotEmpty(); Optional concernedDtoOptional = this.surveyUnitModels.stream().filter(dto -> dto.getState().equals(DataState.COLLECTED) - && dto.getIdUE().equals(surveyUnitId) + && dto.getInterrogationId().equals(surveyUnitId) ).findFirst(); Assertions.assertThat(concernedDtoOptional).isPresent(); diff --git a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java index 29ddd262..f2e5b233 100644 --- a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java +++ b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java @@ -214,7 +214,7 @@ void test02() { // When List suDtos = LunaticXmlAdapter.convert(lunaticXmlSurveyUnit1, metadataModel.getVariables(), ID_CAMPAIGN, Mode.WEB); // Then - Assertions.assertThat(suDtos.getFirst().getIdQuest()).isEqualTo("idQuest1"); + Assertions.assertThat(suDtos.getFirst().getQuestionnaireId()).isEqualTo("idQuest1"); } @Test @@ -223,7 +223,7 @@ void test03() { // When List suDtos = LunaticXmlAdapter.convert(lunaticXmlSurveyUnit1, metadataModel.getVariables(), ID_CAMPAIGN, Mode.WEB); // Then - Assertions.assertThat(suDtos.getFirst().getIdUE()).isEqualTo("idUE1"); + Assertions.assertThat(suDtos.getFirst().getInterrogationId()).isEqualTo("idUE1"); } @Test diff --git a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java index 8b85eac3..4081ebec 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java @@ -38,10 +38,10 @@ static void init() { CollectedVariable collectedVariable = new CollectedVariable("TESTIDVAR", List.of(new String[]{"V1", "V2"}), "TESTIDLOOP", "TESTIDPARENT"); collectedVariableList.add(collectedVariable); surveyUnitPersistencePortStub.getMongoStub().add(SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE("TESTIDUE") - .idQuest("TESTIDQUESTIONNAIRE") + .interrogationId("TESTIDUE") + .questionnaireId("TESTIDQUESTIONNAIRE") .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023, 1, 1, 0, 0, 0)) .recordDate(LocalDateTime.of(2024, 1, 1, 0, 0, 0)) diff --git a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java index 9867067a..cfd59a9c 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java @@ -68,10 +68,10 @@ void reset() throws IOException { CollectedVariable collectedVariable = new CollectedVariable("TESTIDVAR", List.of(new String[]{"V1", "V2"}), "TESTIDLOOP", "TESTIDPARENT"); collectedVariableList.add(collectedVariable); surveyUnitPersistencePortStub.getMongoStub().add(SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE(defaultIdUE) - .idQuest(defaultIdQuest) + .interrogationId(defaultIdUE) + .questionnaireId(defaultIdQuest) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023, 1, 1, 0, 0, 0)) .recordDate(LocalDateTime.of(2024, 1, 1, 0, 0, 0)) @@ -356,10 +356,10 @@ private void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnai collectedVariableList.add(collectedVariable); SurveyUnitModel recentDTO = SurveyUnitModel.builder() - .idCampaign(idCampaign) + .campaignId(idCampaign) .mode(Mode.WEB) - .idUE(defaultIdUE) - .idQuest(idQuestionnaire) + .interrogationId(defaultIdUE) + .questionnaireId(idQuestionnaire) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023, 2, 2, 0, 0, 0)) .recordDate(LocalDateTime.of(2024, 2, 2, 0, 0, 0)) diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java index 77dbdeac..918e06a1 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java @@ -202,8 +202,8 @@ void findResponsesByUEAndQuestionnaireTest() { Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); - Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_ID_UE); - Assertions.assertThat(response.getBody().getFirst().getIdQuest()).isEqualTo(DEFAULT_ID_QUEST); + Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_ID_UE); + Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_ID_QUEST); } @Test @@ -258,8 +258,8 @@ void getLatestByUETest() { Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); - Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_ID_UE); - Assertions.assertThat(response.getBody().getFirst().getIdQuest()).isEqualTo(DEFAULT_ID_QUEST); + Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_ID_UE); + Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_ID_QUEST); Assertions.assertThat(response.getBody().getFirst().getFileDate()).hasMonth(Month.FEBRUARY); } diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java index 424bb4b0..5a98dfe3 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java @@ -193,10 +193,10 @@ static void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnair collectedVariableList.add(collectedVariable); SurveyUnitModel recentDTO = SurveyUnitModel.builder() - .idCampaign(idCampaign) + .campaignId(idCampaign) .mode(Mode.WEB) - .idUE(defaultIdUE) - .idQuest(idQuestionnaire) + .interrogationId(defaultIdUE) + .questionnaireId(idQuestionnaire) .state(DataState.COLLECTED) .fileDate(fileDate) .recordDate(recordDate) @@ -223,10 +223,10 @@ static void addAdditionalDtoToMongoStub(DataState state, collectedVariableList.add(collectedVariable); SurveyUnitModel recentDTO = SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE(defaultIdUE) - .idQuest(defaultIdQuest) + .interrogationId(defaultIdUE) + .questionnaireId(defaultIdQuest) .state(state) .fileDate(fileDate) .recordDate(recordDate) diff --git a/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java index fef9c86c..14965fcd 100644 --- a/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java +++ b/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java @@ -89,13 +89,13 @@ static void setUp() { //Manual modifications //Valid 2nd variable on 5th and 13th case SurveyUnitModel suDto = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getIdUE().equals("TestUE5") + surveyUnitDto.getInterrogationId().equals("TestUE5") ).toList().getFirst(); suDto.getCollectedVariables().get(1).getValues().set(0,"1"); suDto = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getIdUE().equals("TestUE13") + surveyUnitDto.getInterrogationId().equals("TestUE13") ).toList().getFirst(); suDto.getCollectedVariables().get(1).getValues().set(0,"1"); @@ -104,14 +104,14 @@ static void setUp() { //Valid EDITED variables on 3rd and 7th case for priority test SurveyUnitModel suDtoEdited = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getIdUE().equals("TestUE3") + surveyUnitDto.getInterrogationId().equals("TestUE3") && surveyUnitDto.getState().equals(DataState.EDITED) ).toList().getFirst(); suDtoEdited.getCollectedVariables().getFirst().getValues().set(0,"1"); suDtoEdited = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getIdUE().equals("TestUE7") + surveyUnitDto.getInterrogationId().equals("TestUE7") && surveyUnitDto.getState().equals(DataState.EDITED) ).toList().getFirst(); @@ -120,7 +120,7 @@ static void setUp() { //Remove EDITED variable on 8th case suDtoEdited = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getIdUE().equals("TestUE8") + surveyUnitDto.getInterrogationId().equals("TestUE8") && surveyUnitDto.getState().equals(DataState.EDITED) ).toList().getFirst(); @@ -165,9 +165,9 @@ private static void createCase(int variableNumber, int stateNumber, int valueNum } SurveyUnitModel surveyUnitModel = SurveyUnitModel.builder() - .idQuest("IdQuest1") - .idCampaign("IdCampaign1") - .idUE(idUE) + .questionnaireId("IdQuest1") + .campaignId("IdCampaign1") + .interrogationId(idUE) .state(stateIndex % 2 == 0 ? DataState.COLLECTED : DataState.EDITED) .mode(Mode.WEB) .recordDate(LocalDateTime.now()) @@ -187,12 +187,12 @@ private static void createCase(int variableNumber, int stateNumber, int valueNum private void assertForcedExistence(List testSurveyUnitModels, String idUE, boolean hasToExist) { if(hasToExist) assertThat(testSurveyUnitModels).filteredOn(surveyUnit -> - surveyUnit.getIdUE().equals(idUE) + surveyUnit.getInterrogationId().equals(idUE) && surveyUnit.getState() == DataState.FORCED) .hasSize(1); else assertThat(testSurveyUnitModels).filteredOn(surveyUnit -> - surveyUnit.getIdUE().equals(idUE) + surveyUnit.getInterrogationId().equals(idUE) && surveyUnit.getState() == DataState.FORCED) .isEmpty(); } @@ -201,7 +201,7 @@ private void assertCollectedVariableContent(List testSurveyUnit assertForcedExistence(testSurveyUnitModels,idUE,true); Optional suDtoOpt = testSurveyUnitModels.stream().filter(surveyUnit -> - surveyUnit.getIdUE().equals(idUE) + surveyUnit.getInterrogationId().equals(idUE) && surveyUnit.getState() == DataState.FORCED).findFirst(); assertThat(suDtoOpt).isPresent(); @@ -225,7 +225,7 @@ private void assertCollectedVariableContent(List testSurveyUnit private void assertForcedCollectedVariableExistence(List testSurveyUnitModels, String idUE, String variableName, boolean hasToExist) { assertForcedExistence(testSurveyUnitModels,idUE, true); Optional suDtoOpt = testSurveyUnitModels.stream().filter(surveyUnit -> - surveyUnit.getIdUE().equals(idUE) + surveyUnit.getInterrogationId().equals(idUE) && surveyUnit.getState() == DataState.FORCED).findFirst(); assertThat(suDtoOpt).isPresent(); @@ -240,7 +240,7 @@ private void assertForcedCollectedVariableExistence(List testSu private void assertForcedExternalVariableExistence(List testSurveyUnitModels, String idUE, String variableName, boolean hasToExist) { assertForcedExistence(testSurveyUnitModels,idUE, true); Optional suDtoOpt = testSurveyUnitModels.stream().filter(surveyUnit -> - surveyUnit.getIdUE().equals(idUE) + surveyUnit.getInterrogationId().equals(idUE) && surveyUnit.getState() == DataState.FORCED).findFirst(); assertThat(suDtoOpt).isPresent(); @@ -256,7 +256,7 @@ private void assertExternalVariableContent(List testSurveyUnitM assertForcedExistence(testSurveyUnitModels,idUE,true); Optional suDtoOpt = testSurveyUnitModels.stream().filter(surveyUnit -> - surveyUnit.getIdUE().equals(idUE) + surveyUnit.getInterrogationId().equals(idUE) && surveyUnit.getState() == DataState.FORCED).findFirst(); assertThat(suDtoOpt).isPresent(); diff --git a/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java b/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java index 2ef657d0..1c2f5a3f 100644 --- a/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java +++ b/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java @@ -21,9 +21,9 @@ public void toJSONTest() throws JsonProcessingException { collectedVariableList.add(collectedVariable); SurveyUnitModel surveyUnitModel = SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") - .idQuest("TESTIDQUEST") - .idUE("TESTIDUE") + .campaignId("TESTIDCAMPAIGN") + .questionnaireId("TESTIDQUEST") + .interrogationId("TESTIDUE") .mode(Mode.WEB) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2000,1,1,0,0,0)) @@ -37,7 +37,7 @@ public void toJSONTest() throws JsonProcessingException { objectMapper.findAndRegisterModules(); Assertions.assertEquals( - objectMapper.readTree("{\"idQuest\":\"TESTIDQUEST\",\"idCampaign\":\"TESTIDCAMPAIGN\",\"idUE\":\"TESTIDUE\",\"state\":\"COLLECTED\",\"mode\":\"WEB\",\"recordDate\":\"2000-01-01T12:00\",\"fileDate\":\"2000-01-01T12:00\",\"collectedVariables\":[{\"idVar\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"],\"idLoop\":\"TESTIDLOOP\",\"idParent\":\"TESTIDPARENT\"}],\"externalVariables\":[{\"idVar\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"]}]}"), + objectMapper.readTree("{\"questionnaireId\":\"TESTIDQUEST\",\"campaignId\":\"TESTIDCAMPAIGN\",\"interrogationId\":\"TESTIDUE\",\"state\":\"COLLECTED\",\"mode\":\"WEB\",\"recordDate\":\"2000-01-01T12:00\",\"fileDate\":\"2000-01-01T12:00\",\"collectedVariables\":[{\"idVar\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"],\"idLoop\":\"TESTIDLOOP\",\"idParent\":\"TESTIDPARENT\"}],\"externalVariables\":[{\"varId\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"]}]}"), objectMapper.readTree(objectMapper.writeValueAsString(surveyUnitModel)) ); } diff --git a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java index 5ccd0ce1..779271d7 100644 --- a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java +++ b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java @@ -51,10 +51,10 @@ void reset(){ CollectedVariable collectedVariable = new CollectedVariable("TESTIDVAR", List.of(new String[]{"V1", "V2"}),"TESTIDLOOP","TESTIDPARENT"); collectedVariableList.add(collectedVariable); surveyUnitPersistencePortStub.getMongoStub().add(SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE(defaultIdUE) - .idQuest(defaultIdQuest) + .interrogationId(defaultIdUE) + .questionnaireId(defaultIdQuest) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023,1,1,0,0,0)) .recordDate(LocalDateTime.of(2024,1,1,0,0,0)) @@ -79,10 +79,10 @@ void saveAllTest(){ newSurveyUnitModelList.add( SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE("TESTIDUE2") - .idQuest(defaultIdQuest) + .interrogationId("TESTIDUE2") + .questionnaireId(defaultIdQuest) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023,1,1,0,0,0)) .recordDate(LocalDateTime.of(2024,1,1,0,0,0)) @@ -94,10 +94,10 @@ void saveAllTest(){ surveyUnitServiceStatic.saveSurveyUnits(newSurveyUnitModelList); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub()).filteredOn(surveyUnitDto -> - surveyUnitDto.getIdCampaign().equals("TESTIDCAMPAIGN") + surveyUnitDto.getCampaignId().equals("TESTIDCAMPAIGN") && surveyUnitDto.getMode().equals(Mode.WEB) - && surveyUnitDto.getIdUE().equals("TESTIDUE2") - && surveyUnitDto.getIdQuest().equals(defaultIdQuest) + && surveyUnitDto.getInterrogationId().equals("TESTIDUE2") + && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) && surveyUnitDto.getState().equals(DataState.COLLECTED) && surveyUnitDto.getFileDate().equals(LocalDateTime.of(2023,1,1,0,0,0)) && surveyUnitDto.getRecordDate().equals(LocalDateTime.of(2024,1,1,0,0,0)) @@ -116,8 +116,8 @@ void saveAllTest(){ void findByIdsUEAndQuestionnaireTest(){ Assertions.assertThat(surveyUnitServiceStatic.findByIdsUEAndQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( surveyUnitDto -> - surveyUnitDto.getIdUE().equals(defaultIdUE) - && surveyUnitDto.getIdQuest().equals(defaultIdQuest) + surveyUnitDto.getInterrogationId().equals(defaultIdUE) + && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) ).isNotEmpty(); } @@ -125,14 +125,14 @@ void findByIdsUEAndQuestionnaireTest(){ void findByIdUETest(){ Assertions.assertThat(surveyUnitServiceStatic.findByIdUE(defaultIdUE)).filteredOn( surveyUnitDto -> - surveyUnitDto.getIdUE().equals(defaultIdUE) + surveyUnitDto.getInterrogationId().equals(defaultIdUE) ).isNotEmpty(); } @Test void findByIdQuestionnaireTest(){ Assertions.assertThat(surveyUnitServiceStatic.findByIdQuestionnaire(defaultIdQuest)).filteredOn( - surveyUnitDto -> surveyUnitDto.getIdQuest().equals(defaultIdQuest) + surveyUnitDto -> surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) ).isNotEmpty(); } @@ -141,8 +141,8 @@ void findLatestByIdAndByModeTest(){ addAdditionnalDtoToMongoStub(); Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByIdQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( - surveyUnitDto -> surveyUnitDto.getIdUE().equals(defaultIdUE) - && surveyUnitDto.getIdQuest().equals(defaultIdQuest) + surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(defaultIdUE) + && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) ).isNotEmpty(); } @@ -158,8 +158,8 @@ void findResponsesByUEAndQuestionnaireTest_null_collectedVariables() { surveyUnitPersistencePortStub.getMongoStub().getLast().setCollectedVariables(null); Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByIdQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( - surveyUnitDto -> surveyUnitDto.getIdUE().equals(defaultIdUE) - && surveyUnitDto.getIdQuest().equals(defaultIdQuest) + surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(defaultIdUE) + && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) ).isNotEmpty(); } @@ -174,8 +174,8 @@ void findResponsesByUEAndQuestionnaireTest_null_externalVariables() { surveyUnitPersistencePortStub.getMongoStub().getLast().setExternalVariables(null); Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByIdQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( - surveyUnitDto -> surveyUnitDto.getIdUE().equals(defaultIdUE) - && surveyUnitDto.getIdQuest().equals(defaultIdQuest) + surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(defaultIdUE) + && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) ).isNotEmpty(); } @@ -423,10 +423,10 @@ private void addAdditionnalDtoToMongoStub(){ collectedVariableList.add(collectedVariable); SurveyUnitModel recentDTO = SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE(defaultIdUE) - .idQuest(defaultIdQuest) + .interrogationId(defaultIdUE) + .questionnaireId(defaultIdQuest) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023,2,2,0,0,0)) .recordDate(LocalDateTime.of(2024,2,2,0,0,0)) @@ -446,10 +446,10 @@ private void addAdditionnalDtoToMongoStub(String idQuestionnaire) { collectedVariableList.add(collectedVariable); SurveyUnitModel recentDTO = SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE(defaultIdUE) - .idQuest(idQuestionnaire) + .interrogationId(defaultIdUE) + .questionnaireId(idQuestionnaire) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023, 2, 2, 0, 0, 0)) .recordDate(LocalDateTime.of(2024, 2, 2, 0, 0, 0)) @@ -473,10 +473,10 @@ private void addAdditionnalDtoToMongoStub(DataState state, collectedVariableList.add(collectedVariable); SurveyUnitModel recentDTO = SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE(defaultIdUE) - .idQuest(defaultIdQuest) + .interrogationId(defaultIdUE) + .questionnaireId(defaultIdQuest) .state(state) .fileDate(fileDate) .recordDate(recordDate) diff --git a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java index 8404fe47..cbbbd565 100644 --- a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java +++ b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java @@ -39,9 +39,9 @@ void setUp() { CollectedVariable cv2 = new CollectedVariable("var2", List.of("true"), "loop2", "parent2"); SurveyUnitModel surveyUnit = SurveyUnitModel.builder() - .idUE("UE1100000001") - .idQuest("Quest1") - .idCampaign("Camp1") + .interrogationId("UE1100000001") + .questionnaireId("Quest1") + .campaignId("Camp1") .state(DataState.COLLECTED) .collectedVariables(List.of(cv1, cv2)) .externalVariables(List.of()) @@ -92,9 +92,9 @@ void shouldAddForcedSurveyUnit_WhenInvalidExternalVariable() { listVarExt.add(extVar); SurveyUnitModel surveyUnitWithInvalidExt = SurveyUnitModel.builder() - .idUE("UE1100000002") - .idQuest("Quest1") - .idCampaign("Camp1") + .interrogationId("UE1100000002") + .questionnaireId("Quest1") + .campaignId("Camp1") .state(DataState.COLLECTED) .collectedVariables(List.of()) .externalVariables(listVarExt) diff --git a/src/test/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitModelMongoAdapterTest.java b/src/test/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitModelMongoAdapterTest.java index 5e5a76c2..9cee571f 100644 --- a/src/test/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitModelMongoAdapterTest.java +++ b/src/test/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitModelMongoAdapterTest.java @@ -39,9 +39,9 @@ class SurveyUnitModelMongoAdapterTest { static void setUp() { surveyUnitMongoAdapter = new SurveyUnitMongoAdapter(mongoRepository, null); suDoc= new SurveyUnitDocument(); - suDoc.setIdCampaign("idCampaign"); - suDoc.setIdUE("UE1100000001"); - suDoc.setIdQuestionnaire("TEST2023X01"); + suDoc.setCampaignId("idCampaign"); + suDoc.setInterrogationId("UE1100000001"); + suDoc.setQuestionnaireId("TEST2023X01"); suDoc.setState("COLLECTED"); suDoc.setMode("WEB"); suDoc.setRecordDate(LocalDateTime.now()); @@ -49,9 +49,9 @@ static void setUp() { suDoc.setExternalVariables(List.of(new ExternalVariable())); suDoc2= new SurveyUnitDocument(); - suDoc2.setIdCampaign("idCampaign"); - suDoc2.setIdUE("UE1100000001"); - suDoc2.setIdQuestionnaire("TEST2023X01"); + suDoc2.setCampaignId("idCampaign"); + suDoc2.setInterrogationId("UE1100000001"); + suDoc2.setQuestionnaireId("TEST2023X01"); suDoc2.setState("COLLECTED"); suDoc2.setMode("TEL"); suDoc2.setRecordDate(LocalDateTime.now()); @@ -59,9 +59,9 @@ static void setUp() { suDoc2.setExternalVariables(List.of(new ExternalVariable())); suDoc3= new SurveyUnitDocument(); - suDoc3.setIdCampaign("idCampaign"); - suDoc3.setIdUE("UE1100000002"); - suDoc3.setIdQuestionnaire("TEST2023X01"); + suDoc3.setCampaignId("idCampaign"); + suDoc3.setInterrogationId("UE1100000002"); + suDoc3.setQuestionnaireId("TEST2023X01"); suDoc3.setState("COLLECTED"); suDoc3.setMode("WEB"); suDoc3.setRecordDate(LocalDateTime.now()); @@ -152,8 +152,8 @@ void shouldReturnListOfSurveyUnitDto_WhenGivenAListOfIdUEs() { responses2.add(suDoc3); when(mongoRepository.findByIdUEAndIdQuestionnaire("UE1100000001", "TEST2023X01")).thenReturn(responses1); when(mongoRepository.findByIdUEAndIdQuestionnaire("UE1100000002", "TEST2023X01")).thenReturn(responses2); - SurveyUnitModel id1 = SurveyUnitModel.builder().idUE("UE1100000001").build(); - SurveyUnitModel id2 = SurveyUnitModel.builder().idUE("UE1100000002").build(); + SurveyUnitModel id1 = SurveyUnitModel.builder().interrogationId("UE1100000001").build(); + SurveyUnitModel id2 = SurveyUnitModel.builder().interrogationId("UE1100000002").build(); List ids = List.of(id1, id2); // When List updates = surveyUnitMongoAdapter.findByIdUEsAndIdQuestionnaire(ids, "TEST2023X01"); @@ -166,8 +166,8 @@ void shouldReturnListOfSurveyUnitDto_WhenGivenAListOfIdUEs() { void shouldReturnEmptyList_IfIdUEsNotFoundInDataBase() { //Given when(mongoRepository.findByIdUEAndIdQuestionnaire(any(String.class),any(String.class))).thenReturn(List.of()); - SurveyUnitModel id1 = SurveyUnitModel.builder().idUE("UE1100000001").build(); - SurveyUnitModel id2 = SurveyUnitModel.builder().idUE("UE1100000002").build(); + SurveyUnitModel id1 = SurveyUnitModel.builder().interrogationId("UE1100000001").build(); + SurveyUnitModel id2 = SurveyUnitModel.builder().interrogationId("UE1100000002").build(); List ids = List.of(id1, id2); // When List updates = surveyUnitMongoAdapter.findByIdUEsAndIdQuestionnaire(ids, "TEST2023X01"); diff --git a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java index f3ca02ba..1e576cd9 100644 --- a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java +++ b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java @@ -32,10 +32,10 @@ static void init(){ surveyUnitDocumentMapperImplStatic = new SurveyUnitDocumentMapperImpl(); surveyUnitDocumentStatic = new SurveyUnitDocument(); - surveyUnitDocumentStatic.setIdCampaign("TESTIDCAMPAIGN"); + surveyUnitDocumentStatic.setCampaignId("TESTIDCAMPAIGN"); surveyUnitDocumentStatic.setMode("WEB"); - surveyUnitDocumentStatic.setIdUE("TESTIDUE"); - surveyUnitDocumentStatic.setIdQuestionnaire("TESTIDQUESTIONNAIRE"); + surveyUnitDocumentStatic.setInterrogationId("TESTIDUE"); + surveyUnitDocumentStatic.setQuestionnaireId("TESTIDQUESTIONNAIRE"); surveyUnitDocumentStatic.setState("COLLECTED"); surveyUnitDocumentStatic.setFileDate(LocalDateTime.of(2023,1,1,0,0,0)); @@ -63,10 +63,10 @@ static void init(){ surveyUnitStatic = SurveyUnitModel.builder() - .idCampaign("TESTIDCAMPAIGN") + .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE("TESTIDUE") - .idQuest("TESTIDQUESTIONNAIRE") + .interrogationId("TESTIDUE") + .questionnaireId("TESTIDQUESTIONNAIRE") .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023,1,1,0,0,0)) .recordDate(LocalDateTime.of(2024,1,1,0,0,0)) @@ -91,10 +91,10 @@ void shouldReturnNull(){ void shouldReturnDocumentDtoFromDocument(){ SurveyUnitModel surveyUnit = surveyUnitDocumentMapperImplStatic.documentToModel(surveyUnitDocumentStatic); - Assertions.assertThat(surveyUnit.getIdCampaign()).isEqualTo("TESTIDCAMPAIGN"); + Assertions.assertThat(surveyUnit.getCampaignId()).isEqualTo("TESTIDCAMPAIGN"); Assertions.assertThat(surveyUnit.getMode()).isEqualTo(Mode.WEB); - Assertions.assertThat(surveyUnit.getIdUE()).isEqualTo("TESTIDUE"); - Assertions.assertThat(surveyUnit.getIdQuest()).isEqualTo("TESTIDQUESTIONNAIRE"); + Assertions.assertThat(surveyUnit.getInterrogationId()).isEqualTo("TESTIDUE"); + Assertions.assertThat(surveyUnit.getQuestionnaireId()).isEqualTo("TESTIDQUESTIONNAIRE"); Assertions.assertThat(surveyUnit.getState()).isEqualTo(DataState.COLLECTED); Assertions.assertThat(surveyUnit.getFileDate()).isEqualTo(LocalDateTime.of(2023,1,1,0,0,0)); @@ -115,10 +115,10 @@ void shouldReturnDocumentDtoFromDocument(){ void shouldReturnDocumentFromDocumentDto(){ SurveyUnitDocument surveyUnitDocument = surveyUnitDocumentMapperImplStatic.modelToDocument(surveyUnitStatic); - Assertions.assertThat(surveyUnitDocument.getIdCampaign()).isEqualTo("TESTIDCAMPAIGN"); + Assertions.assertThat(surveyUnitDocument.getCampaignId()).isEqualTo("TESTIDCAMPAIGN"); Assertions.assertThat(surveyUnitDocument.getMode()).isEqualTo("WEB"); - Assertions.assertThat(surveyUnitDocument.getIdUE()).isEqualTo("TESTIDUE"); - Assertions.assertThat(surveyUnitDocument.getIdQuestionnaire()).isEqualTo("TESTIDQUESTIONNAIRE"); + Assertions.assertThat(surveyUnitDocument.getInterrogationId()).isEqualTo("TESTIDUE"); + Assertions.assertThat(surveyUnitDocument.getQuestionnaireId()).isEqualTo("TESTIDQUESTIONNAIRE"); Assertions.assertThat(surveyUnitDocument.getState()).isEqualTo("COLLECTED"); Assertions.assertThat(surveyUnitDocument.getFileDate()).isEqualTo(LocalDateTime.of(2023,1,1,0,0,0)); @@ -143,10 +143,10 @@ void shouldReturnDocumentLDtoListFromDocumentList(){ List surveyUnitList = surveyUnitDocumentMapperImplStatic.listDocumentToListModel(surveyUnitDocumentList); - Assertions.assertThat(surveyUnitList.getFirst().getIdCampaign()).isEqualTo("TESTIDCAMPAIGN"); + Assertions.assertThat(surveyUnitList.getFirst().getCampaignId()).isEqualTo("TESTIDCAMPAIGN"); Assertions.assertThat(surveyUnitList.getFirst().getMode()).isEqualTo(Mode.WEB); - Assertions.assertThat(surveyUnitList.getFirst().getIdUE()).isEqualTo("TESTIDUE"); - Assertions.assertThat(surveyUnitList.getFirst().getIdQuest()).isEqualTo("TESTIDQUESTIONNAIRE"); + Assertions.assertThat(surveyUnitList.getFirst().getInterrogationId()).isEqualTo("TESTIDUE"); + Assertions.assertThat(surveyUnitList.getFirst().getQuestionnaireId()).isEqualTo("TESTIDQUESTIONNAIRE"); Assertions.assertThat(surveyUnitList.getFirst().getState()).isEqualTo(DataState.COLLECTED); Assertions.assertThat(surveyUnitList.getFirst().getFileDate()).isEqualTo(LocalDateTime.of(2023,1,1,0,0,0)); @@ -169,10 +169,10 @@ void shouldReturnDocumentListFromDocumentDtoList(){ List surveyUnitDocumentList = surveyUnitDocumentMapperImplStatic.listModelToListDocument(surveyUnitList); - Assertions.assertThat(surveyUnitDocumentList.getFirst().getIdCampaign()).isEqualTo("TESTIDCAMPAIGN"); + Assertions.assertThat(surveyUnitDocumentList.getFirst().getCampaignId()).isEqualTo("TESTIDCAMPAIGN"); Assertions.assertThat(surveyUnitDocumentList.getFirst().getMode()).isEqualTo("WEB"); - Assertions.assertThat(surveyUnitDocumentList.getFirst().getIdUE()).isEqualTo("TESTIDUE"); - Assertions.assertThat(surveyUnitDocumentList.getFirst().getIdQuestionnaire()).isEqualTo("TESTIDQUESTIONNAIRE"); + Assertions.assertThat(surveyUnitDocumentList.getFirst().getInterrogationId()).isEqualTo("TESTIDUE"); + Assertions.assertThat(surveyUnitDocumentList.getFirst().getQuestionnaireId()).isEqualTo("TESTIDQUESTIONNAIRE"); Assertions.assertThat(surveyUnitDocumentList.getFirst().getState()).isEqualTo("COLLECTED"); Assertions.assertThat(surveyUnitDocumentList.getFirst().getFileDate()).isEqualTo(LocalDateTime.of(2023,1,1,0,0,0)); diff --git a/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java b/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java index b5852aa9..667847eb 100644 --- a/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java +++ b/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java @@ -23,7 +23,7 @@ public void saveAll(List suList) { public List findByIds(String idUE, String idQuest) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getIdUE().equals(idUE) && SurveyUnitModel.getIdQuest().equals(idQuest)) + if(SurveyUnitModel.getInterrogationId().equals(idUE) && SurveyUnitModel.getQuestionnaireId().equals(idQuest)) surveyUnitModelList.add(SurveyUnitModel); } @@ -34,7 +34,7 @@ public List findByIds(String idUE, String idQuest) { public List findByIdUE(String idUE) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getIdUE().equals(idUE)) + if(SurveyUnitModel.getInterrogationId().equals(idUE)) surveyUnitModelList.add(SurveyUnitModel); } @@ -46,7 +46,7 @@ public List findByIdUEsAndIdQuestionnaire(List List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel surveyUnitModel : idUEs) { for (SurveyUnitModel document : mongoStub) { - if (surveyUnitModel.getIdUE().equals(document.getIdUE()) && document.getIdQuest().equals(idQuestionnaire)) + if (surveyUnitModel.getInterrogationId().equals(document.getInterrogationId()) && document.getQuestionnaireId().equals(idQuestionnaire)) surveyUnitModelList.add(document); } } @@ -58,7 +58,7 @@ public List findByIdUEsAndIdQuestionnaire(List public Stream findByIdQuestionnaire(String idQuestionnaire) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getIdQuest().equals(idQuestionnaire)) + if(SurveyUnitModel.getQuestionnaireId().equals(idQuestionnaire)) surveyUnitModelList.add(SurveyUnitModel); } @@ -69,9 +69,9 @@ public Stream findByIdQuestionnaire(String idQuestionnaire) { public List findIdUEsByIdQuestionnaire(String idQuestionnaire) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getIdQuest().equals(idQuestionnaire)) + if(SurveyUnitModel.getQuestionnaireId().equals(idQuestionnaire)) surveyUnitModelList.add( - new SurveyUnitModel(SurveyUnitModel.getIdUE(), SurveyUnitModel.getMode()) + new SurveyUnitModel(SurveyUnitModel.getInterrogationId(), SurveyUnitModel.getMode()) ); } @@ -82,9 +82,9 @@ public List findIdUEsByIdQuestionnaire(String idQuestionnaire) public List findIdUEsByIdCampaign(String idCampaign) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getIdCampaign().equals(idCampaign)) + if(SurveyUnitModel.getCampaignId().equals(idCampaign)) surveyUnitModelList.add( - new SurveyUnitModel(SurveyUnitModel.getIdUE(), SurveyUnitModel.getMode()) + new SurveyUnitModel(SurveyUnitModel.getInterrogationId(), SurveyUnitModel.getMode()) ); } @@ -105,8 +105,8 @@ public long count() { public Set findIdQuestionnairesByIdCampaign(String idCampaign) { Set idQuestionnaireSet = new HashSet<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getIdCampaign().equals(idCampaign)) - idQuestionnaireSet.add(SurveyUnitModel.getIdQuest()); + if(SurveyUnitModel.getCampaignId().equals(idCampaign)) + idQuestionnaireSet.add(SurveyUnitModel.getQuestionnaireId()); } return idQuestionnaireSet; @@ -116,7 +116,7 @@ public Set findIdQuestionnairesByIdCampaign(String idCampaign) { public Set findDistinctIdCampaigns() { Set campaignIds = new HashSet<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - campaignIds.add(SurveyUnitModel.getIdCampaign()); + campaignIds.add(SurveyUnitModel.getCampaignId()); } return campaignIds; @@ -125,14 +125,14 @@ public Set findDistinctIdCampaigns() { @Override public long countByIdCampaign(String idCampaign) { return mongoStub.stream().filter( - SurveyUnitDto -> SurveyUnitDto.getIdCampaign().equals(idCampaign)).toList().size(); + SurveyUnitDto -> SurveyUnitDto.getCampaignId().equals(idCampaign)).toList().size(); } @Override public Set findDistinctIdQuestionnaires() { Set questionnaireIds = new HashSet<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - questionnaireIds.add(SurveyUnitModel.getIdQuest()); + questionnaireIds.add(SurveyUnitModel.getQuestionnaireId()); } return questionnaireIds; } @@ -141,8 +141,8 @@ public Set findDistinctIdQuestionnaires() { public Set findIdCampaignsByIdQuestionnaire(String idQuestionnaire) { Set idCampaignSet = new HashSet<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getIdQuest().equals(idQuestionnaire)) - idCampaignSet.add(SurveyUnitModel.getIdCampaign()); + if(SurveyUnitModel.getQuestionnaireId().equals(idQuestionnaire)) + idCampaignSet.add(SurveyUnitModel.getCampaignId()); } return idCampaignSet; From ce1441953531e2fce92db64fae5004203150bb74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Henninger?= Date: Wed, 8 Jan 2025 14:56:35 +0100 Subject: [PATCH 02/12] Standardisation of ids name with the rule Id --- .../controller/adapter/LunaticXmlAdapter.java | 8 +++--- .../model/surveyunit/CollectedVariable.java | 12 ++++---- .../domain/model/surveyunit/IdLoopTuple.java | 2 +- .../domain/model/surveyunit/Variable.java | 2 +- .../service/surveyunit/SurveyUnitService.java | 24 ++++++++-------- .../genesis/domain/utils/DataVerifier.java | 28 +++++++++---------- .../document/surveyunit/ExternalVariable.java | 2 +- .../document/surveyunit/VariableState.java | 6 ++-- .../functional_tests/MainDefinitions.java | 12 ++++---- .../adapter/LunaticXmlAdapterTest.java | 20 ++++++------- .../rest/HealthCheckControllerTest.java | 2 +- .../controller/rest/UtilsControllerTest.java | 4 +-- .../controller/rest/responses/Utils.java | 4 +-- .../controller/utils/DataVerifierTest.java | 24 ++++++++-------- .../surveyunit/CollectedVariableTest.java | 8 +++--- .../model/surveyunit/SurveyUnitModelTest.java | 4 +-- .../domain/model/surveyunit/VariableTest.java | 2 +- .../domain/service/SurveyUnitServiceTest.java | 15 +++++----- .../domain/utils/DataVerifierTest.java | 2 +- .../SurveyUnitDocumentMapperImplTest.java | 22 +++++++-------- 20 files changed, 101 insertions(+), 102 deletions(-) diff --git a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java index 6835a687..203685e8 100644 --- a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java +++ b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java @@ -122,10 +122,10 @@ private static SurveyUnitModel getCollectedDataFromSurveyUnit(LunaticXmlSurveyUn if (valueTypeList.get(i-1).getValue()!=null) { variableValues.add(valueTypeList.get(i-1).getValue()); variablesUpdate.add(CollectedVariable.collectedVariableBuilder() - .idVar(lunaticXmlCollectedData.getVariableName()) + .varId(lunaticXmlCollectedData.getVariableName()) .values(variableValues) - .idLoop(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap, i)) - .idParent(LoopIdentifier.getRelatedVariableName(lunaticXmlCollectedData.getVariableName(), variablesMap)) + .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap, i)) + .parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlCollectedData.getVariableName(), variablesMap)) .build()); dataCount++; } @@ -152,7 +152,7 @@ private static void getExternalDataFromSurveyUnit(LunaticXmlSurveyUnit su, Surve List externalVariables = new ArrayList<>(); su.getData().getExternal().forEach(lunaticXmlExternalData -> externalVariables.add(Variable.builder() - .idVar(lunaticXmlExternalData.getVariableName()) + .varId(lunaticXmlExternalData.getVariableName()) .values(getValuesFromValueTypeList(lunaticXmlExternalData.getValues())) .build()) ); diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/CollectedVariable.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/CollectedVariable.java index 2d88a2d1..62c5f18f 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/CollectedVariable.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/CollectedVariable.java @@ -11,14 +11,14 @@ @Setter public class CollectedVariable extends Variable { - private String idLoop; - private String idParent; + private String loopId; + private String parentId; @Builder(builderMethodName = "collectedVariableBuilder") - public CollectedVariable(String idVar, List values, String idLoop, String idParent) { - super(idVar, values); - this.idLoop = idLoop; - this.idParent = idParent; + public CollectedVariable(String varId, List values, String loopId, String parentId) { + super(varId, values); + this.loopId = loopId; + this.parentId = parentId; } } diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java index 6d1ac551..615a25d2 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java @@ -1,4 +1,4 @@ package fr.insee.genesis.domain.model.surveyunit; -public record IdLoopTuple(String idVar, String idLoop) { +public record IdLoopTuple(String varId, String idLoop) { } diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/Variable.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/Variable.java index c5066b23..6f7a0dc2 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/Variable.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/Variable.java @@ -11,7 +11,7 @@ @Setter public class Variable { - private String idVar; + private String varId; private List values; } diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index 2c2af33e..937b8a89 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -74,25 +74,25 @@ public List findLatestByIdAndByIdQuestionnaire(String idUE, Str if(latestUpdate.getExternalVariables() == null){ latestUpdate.setExternalVariables(new ArrayList<>()); } - latestUpdate.getCollectedVariables().forEach(colVar -> addedVariables.add(new IdLoopTuple(colVar.getIdVar(), colVar.getIdLoop()))); - latestUpdate.getExternalVariables().forEach(extVar -> addedVariables.add(new IdLoopTuple(extVar.getIdVar(), ""))); + latestUpdate.getCollectedVariables().forEach(colVar -> addedVariables.add(new IdLoopTuple(colVar.getVarId(), colVar.getLoopId()))); + latestUpdate.getExternalVariables().forEach(extVar -> addedVariables.add(new IdLoopTuple(extVar.getVarId(), ""))); suByMode.forEach(surveyUnitModel -> { List variablesToKeep = new ArrayList<>(); List externalToKeep = new ArrayList<>(); // We iterate over the variables of the update and add them to the list if they are not already added surveyUnitModel.getCollectedVariables().stream() - .filter(colVar -> !addedVariables.contains(new IdLoopTuple(colVar.getIdVar(), colVar.getIdLoop()))) + .filter(colVar -> !addedVariables.contains(new IdLoopTuple(colVar.getVarId(), colVar.getLoopId()))) .forEach(colVar -> { variablesToKeep.add(colVar); - addedVariables.add(new IdLoopTuple(colVar.getIdVar(), colVar.getIdLoop())); + addedVariables.add(new IdLoopTuple(colVar.getVarId(), colVar.getLoopId())); }); if (surveyUnitModel.getExternalVariables() != null){ surveyUnitModel.getExternalVariables().stream() - .filter(extVar -> !addedVariables.contains(new IdLoopTuple(extVar.getIdVar(), ""))) + .filter(extVar -> !addedVariables.contains(new IdLoopTuple(extVar.getVarId(), ""))) .forEach(extVar -> { externalToKeep.add(extVar); - addedVariables.add(new IdLoopTuple(extVar.getIdVar(), "")); + addedVariables.add(new IdLoopTuple(extVar.getVarId(), "")); }); } @@ -236,14 +236,14 @@ private void extractVariables(SurveyUnitModel surveyUnitModel, surveyUnitModel.setCollectedVariables(new ArrayList<>()); } for (CollectedVariable collectedVariable : surveyUnitModel.getCollectedVariables()) { - IdLoopTuple idLoopTuple = new IdLoopTuple(collectedVariable.getIdVar(), collectedVariable.getIdLoop()); + IdLoopTuple idLoopTuple = new IdLoopTuple(collectedVariable.getVarId(), collectedVariable.getLoopId()); VariableDto variableDto = collectedVariableMap.get(idLoopTuple); //Create variable into map if not exists if (variableDto == null) { variableDto = VariableDto.builder() - .variableName(collectedVariable.getIdVar()) - .idLoop(collectedVariable.getIdLoop()) + .variableName(collectedVariable.getVarId()) + .idLoop(collectedVariable.getLoopId()) .variableStateDtoList(new ArrayList<>()) .build(); collectedVariableMap.put(idLoopTuple, variableDto); @@ -265,15 +265,15 @@ private void extractVariables(SurveyUnitModel surveyUnitModel, surveyUnitModel.setExternalVariables(new ArrayList<>()); } for(Variable externalVariable : surveyUnitModel.getExternalVariables()){ - VariableDto variableDto = externalVariableMap.get(externalVariable.getIdVar()); + VariableDto variableDto = externalVariableMap.get(externalVariable.getVarId()); //Create variable into map if not exists if(variableDto == null){ variableDto = VariableDto.builder() - .variableName(externalVariable.getIdVar()) + .variableName(externalVariable.getVarId()) .variableStateDtoList(new ArrayList<>()) .build(); - externalVariableMap.put(externalVariable.getIdVar(), variableDto); + externalVariableMap.put(externalVariable.getVarId(), variableDto); } //Extract variable state if(!externalVariable.getValues().isEmpty() && isMostRecentForSameState(surveyUnitModel, variableDto)){ diff --git a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java index e3940e3c..39781d92 100644 --- a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java +++ b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java @@ -86,10 +86,10 @@ private static SurveyUnitModel createForcedDto( for(CollectedVariable correctedCollectedVariable : correctedCollectedVariables){ newForcedSuDto.getCollectedVariables().add( - new CollectedVariable(correctedCollectedVariable.getIdVar(), + new CollectedVariable(correctedCollectedVariable.getVarId(), correctedCollectedVariable.getValues() - ,correctedCollectedVariable.getIdLoop() - ,correctedCollectedVariable.getIdParent() + ,correctedCollectedVariable.getLoopId() + ,correctedCollectedVariable.getParentId() ) ); } @@ -97,7 +97,7 @@ private static SurveyUnitModel createForcedDto( for(Variable correctedExternalVariable : correctedExternalVariables){ newForcedSuDto.getExternalVariables().add( Variable.builder() - .idVar(correctedExternalVariable.getIdVar()) + .varId(correctedExternalVariable.getVarId()) .values(correctedExternalVariable.getValues()) .build() ); @@ -136,8 +136,8 @@ private static void collectedVariablesManagement(List srcSuDtos //Get more priority variables to verify for(SurveyUnitModel srcSuDto : sortedSuDtos){ for(CollectedVariable collectedVariable : srcSuDto.getCollectedVariables()){ - if(!variableNames.contains(collectedVariable.getIdVar())){ - variableNames.add(collectedVariable.getIdVar()); + if(!variableNames.contains(collectedVariable.getVarId())){ + variableNames.add(collectedVariable.getVarId()); variablesToVerify.add(collectedVariable); } } @@ -145,11 +145,11 @@ private static void collectedVariablesManagement(List srcSuDtos //Verify variables for(CollectedVariable collectedVariableToVerify : variablesToVerify){ - if(variablesMap.hasVariable(collectedVariableToVerify.getIdVar())) + if(variablesMap.hasVariable(collectedVariableToVerify.getVarId())) { CollectedVariable correctedCollectedVariable = verifyCollectedVariable( collectedVariableToVerify, - variablesMap.getVariable(collectedVariableToVerify.getIdVar()) + variablesMap.getVariable(collectedVariableToVerify.getVarId()) ); if(correctedCollectedVariable != null){ @@ -173,10 +173,10 @@ private static CollectedVariable verifyCollectedVariable(CollectedVariable colle } return isInvalid ? new CollectedVariable( - collectedVariable.getIdVar(), + collectedVariable.getVarId(), newValues, - collectedVariable.getIdLoop(), - collectedVariable.getIdParent() + collectedVariable.getLoopId(), + collectedVariable.getParentId() ) : null; } @@ -189,10 +189,10 @@ private static void externalVariablesManagement(List srcSuDtosO //Verify variables if(collectedSuDtoOpt.isPresent()){ for(Variable variable: collectedSuDtoOpt.get().getExternalVariables()){ - if(variablesMap.hasVariable(variable.getIdVar())) { + if(variablesMap.hasVariable(variable.getVarId())) { Variable correctedExternalVariable = verifyExternalVariable( variable, - variablesMap.getVariable(variable.getIdVar()) + variablesMap.getVariable(variable.getVarId()) ); if (correctedExternalVariable != null) { correctedExternalVariables.add(correctedExternalVariable); @@ -222,7 +222,7 @@ private static Variable verifyExternalVariable(Variable externalVariable, fr.ins } return isInvalid ? Variable.builder() - .idVar(externalVariable.getIdVar()) + .varId(externalVariable.getVarId()) .values(newValues) .build() : null; } diff --git a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/ExternalVariable.java b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/ExternalVariable.java index 197c7a98..ee14fc89 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/ExternalVariable.java +++ b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/ExternalVariable.java @@ -11,6 +11,6 @@ public class ExternalVariable implements Serializable { @Serial private static final long serialVersionUID = 6267528628435012000L; - private String idVar; + private String varId; private List values; } \ No newline at end of file diff --git a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableState.java b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableState.java index cf177107..799512ec 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableState.java +++ b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableState.java @@ -11,8 +11,8 @@ public class VariableState implements Serializable { @Serial private static final long serialVersionUID = -1576556180669134053L; - private String idVar; - private String idLoop; - private String idParent; + private String varId; + private String loopId; + private String parentId; private List values; } \ No newline at end of file diff --git a/src/test/java/cucumber/functional_tests/MainDefinitions.java b/src/test/java/cucumber/functional_tests/MainDefinitions.java index cedc5206..82557cda 100644 --- a/src/test/java/cucumber/functional_tests/MainDefinitions.java +++ b/src/test/java/cucumber/functional_tests/MainDefinitions.java @@ -161,10 +161,10 @@ public void check_survey_unit_dto_content(String dataState, String surveyUnitId, //Get Variable Assertions.assertThat(concernedDto.getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.getIdVar().equals(variableName)).isNotEmpty(); + collectedVariableDto.getVarId().equals(variableName)).isNotEmpty(); Optional concernedVariableOptional = concernedDto.getCollectedVariables().stream().filter(variable -> - variable.getIdVar().equals(variableName) + variable.getVarId().equals(variableName) ).findFirst(); Assertions.assertThat(concernedVariableOptional).isPresent(); @@ -196,10 +196,10 @@ public void external_variable_volumetric_check(int expectedNumberOfValues, Strin //Get Variable Assertions.assertThat(concernedDto.getExternalVariables()).filteredOn(variableDto -> - variableDto.getIdVar().equals(externalVariableName)).isNotEmpty(); + variableDto.getVarId().equals(externalVariableName)).isNotEmpty(); Optional concernedVariableOptional = concernedDto.getExternalVariables().stream().filter(variable -> - variable.getIdVar().equals(externalVariableName) + variable.getVarId().equals(externalVariableName) ).findFirst(); Assertions.assertThat(concernedVariableOptional).isPresent(); @@ -230,10 +230,10 @@ public void external_variable_content_check(String externalVariableName, String //Get Variable Assertions.assertThat(concernedDto.getExternalVariables()).filteredOn(variableDto -> - variableDto.getIdVar().equals(externalVariableName)).isNotEmpty(); + variableDto.getVarId().equals(externalVariableName)).isNotEmpty(); Optional concernedVariableOptional = concernedDto.getExternalVariables().stream().filter(variable -> - variable.getIdVar().equals(externalVariableName) + variable.getVarId().equals(externalVariableName) ).findFirst(); Assertions.assertThat(concernedVariableOptional).isPresent(); diff --git a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java index f2e5b233..eb71fd69 100644 --- a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java +++ b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java @@ -315,11 +315,11 @@ void test09() { Assertions.assertThat(suDtos).hasSize(1); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.getIdVar().equals("var3")).isNotEmpty(); + collectedVariableDto.getVarId().equals("var3")).isNotEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdVar().equals("var3")).toList().getFirst().getIdParent()).isNull(); + collectedVariableDto.getVarId().equals("var3")).toList().getFirst().getParentId()).isNull(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdVar().equals("var3")).toList().getFirst().getIdLoop()).isEqualTo(Constants.ROOT_GROUP_NAME); + collectedVariableDto.getVarId().equals("var3")).toList().getFirst().getLoopId()).isEqualTo(Constants.ROOT_GROUP_NAME); } @Test @@ -332,11 +332,11 @@ void test10() { Assertions.assertThat(suDtos).hasSize(1); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.getIdVar().equals("var1_MISSING")).isNotEmpty(); + collectedVariableDto.getVarId().equals("var1_MISSING")).isNotEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdVar().equals("var1_MISSING")).toList().getFirst().getIdParent()).isNotNull().isEqualTo("var1"); + collectedVariableDto.getVarId().equals("var1_MISSING")).toList().getFirst().getParentId()).isNotNull().isEqualTo("var1"); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdVar().equals("var1_MISSING")).toList().getFirst().getIdLoop()).isNotEqualTo(Constants.ROOT_GROUP_NAME).isEqualTo(LOOP_NAME); + collectedVariableDto.getVarId().equals("var1_MISSING")).toList().getFirst().getLoopId()).isNotEqualTo(Constants.ROOT_GROUP_NAME).isEqualTo(LOOP_NAME); } @Test @@ -348,13 +348,13 @@ void test11(){ Assertions.assertThat(suDtos).hasSize(1); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).hasSize(3); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.getIdVar().equals("var1")).isNotEmpty(); + collectedVariableDto.getVarId().equals("var1")).isNotEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.getIdLoop().equals("BOUCLE1_1")).isEmpty(); + collectedVariableDto.getLoopId().equals("BOUCLE1_1")).isEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdLoop().equals("BOUCLE1_2")).toList().getFirst().getValues().getFirst()).isEqualTo("1"); + collectedVariableDto.getLoopId().equals("BOUCLE1_2")).toList().getFirst().getValues().getFirst()).isEqualTo("1"); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdLoop().equals("BOUCLE1_3")).toList().getFirst().getValues().getFirst()).isEqualTo("2"); + collectedVariableDto.getLoopId().equals("BOUCLE1_3")).toList().getFirst().getValues().getFirst()).isEqualTo("2"); } } diff --git a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java index 4081ebec..b52f615a 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java @@ -31,7 +31,7 @@ static void init() { surveyUnitPersistencePortStub = new SurveyUnitPersistencePortStub(); SurveyUnitApiPort surveyUnitApiPort = new SurveyUnitService(surveyUnitPersistencePortStub); List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); diff --git a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java index cfd59a9c..f6d6b74d 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java @@ -61,7 +61,7 @@ void reset() throws IOException { surveyUnitPersistencePortStub.getMongoStub().clear(); List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); @@ -348,7 +348,7 @@ private void addAdditionalDtoToMongoStub(String idQuestionnaire) { private void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnaire) { List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java index 5a98dfe3..a3c76fed 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java @@ -185,7 +185,7 @@ static void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnair LocalDateTime fileDate, LocalDateTime recordDate, SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) { List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); @@ -215,7 +215,7 @@ static void addAdditionalDtoToMongoStub(DataState state, LocalDateTime recordDate, SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) { List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); diff --git a/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java index 14965fcd..b38b4da7 100644 --- a/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java +++ b/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java @@ -150,14 +150,14 @@ private static void createCase(int variableNumber, int stateNumber, int valueNum } variableUpdates.add(CollectedVariable.collectedVariableBuilder() - .idVar("testInteger" + variableIndex) + .varId("testInteger" + variableIndex) .values(new ArrayList<>(values)) .build() ); if(hasExternalVariables){ externalVariables.add(Variable.builder() - .idVar("testInteger" + variableIndex) + .varId("testInteger" + variableIndex) .values(new ArrayList<>(values)) .build() ); @@ -210,15 +210,15 @@ private void assertCollectedVariableContent(List testSurveyUnit SurveyUnitModel suDto = suDtoOpt.get(); assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdVar().equals(variableName) + collectedVariableDto.getVarId().equals(variableName) )).isNotEmpty(); assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdVar().equals(variableName) + collectedVariableDto.getVarId().equals(variableName) ).findFirst()).isPresent(); assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.getIdVar().equals(variableName) + collectedVariableDto.getVarId().equals(variableName) ).findFirst().get().getValues().get(valueIndex)).isEqualTo(expectedContent); } @@ -232,9 +232,9 @@ private void assertForcedCollectedVariableExistence(List testSu SurveyUnitModel suDto = suDtoOpt.get(); if(hasToExist) - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.getIdVar().equals(variableName)).toList()).isNotEmpty(); + assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.getVarId().equals(variableName)).toList()).isNotEmpty(); else - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.getIdVar().equals(variableName)).toList()).isEmpty(); + assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.getVarId().equals(variableName)).toList()).isEmpty(); } private void assertForcedExternalVariableExistence(List testSurveyUnitModels, String idUE, String variableName, boolean hasToExist) { @@ -247,9 +247,9 @@ private void assertForcedExternalVariableExistence(List testSur SurveyUnitModel suDto = suDtoOpt.get(); if(hasToExist) - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.getIdVar().equals(variableName)).toList()).isNotEmpty(); + assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.getVarId().equals(variableName)).toList()).isNotEmpty(); else - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.getIdVar().equals(variableName)).toList()).isEmpty(); + assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.getVarId().equals(variableName)).toList()).isEmpty(); } private void assertExternalVariableContent(List testSurveyUnitModels, String idUE, String variableName, int valueIndex, String expectedContent) { @@ -265,15 +265,15 @@ private void assertExternalVariableContent(List testSurveyUnitM SurveyUnitModel suDto = suDtoOpt.get(); assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.getIdVar().equals(variableName) + variableDto.getVarId().equals(variableName) )).isNotEmpty(); assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.getIdVar().equals(variableName) + variableDto.getVarId().equals(variableName) ).findFirst()).isPresent(); assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.getIdVar().equals(variableName) + variableDto.getVarId().equals(variableName) ).findFirst().get().getValues().get(valueIndex)).isEqualTo(expectedContent); } diff --git a/src/test/java/fr/insee/genesis/domain/model/surveyunit/CollectedVariableTest.java b/src/test/java/fr/insee/genesis/domain/model/surveyunit/CollectedVariableTest.java index 0a560c3e..b79fa76f 100644 --- a/src/test/java/fr/insee/genesis/domain/model/surveyunit/CollectedVariableTest.java +++ b/src/test/java/fr/insee/genesis/domain/model/surveyunit/CollectedVariableTest.java @@ -12,9 +12,9 @@ class CollectedVariableTest { @Test void toJSONTest() throws JsonProcessingException { CollectedVariable collectedVariable = CollectedVariable.collectedVariableBuilder() - .idVar("TESTIDVAR") - .idParent("TESTIDPARENT") - .idLoop("TESTIDLOOP") + .varId("TESTIDVAR") + .parentId("TESTIDPARENT") + .loopId("TESTIDLOOP") .values(new ArrayList<>(List.of(new String[]{"V1", "V2"}))) .build(); @@ -22,7 +22,7 @@ void toJSONTest() throws JsonProcessingException { objectMapper.findAndRegisterModules(); Assertions.assertEquals(objectMapper.readTree(objectMapper.writeValueAsString(collectedVariable)), - objectMapper.readTree("{\"values\":[\"V1\",\"V2\"],\"idVar\":\"TESTIDVAR\",\"idLoop\":\"TESTIDLOOP\",\"idParent\":\"TESTIDPARENT\"}")); + objectMapper.readTree("{\"values\":[\"V1\",\"V2\"],\"varId\":\"TESTIDVAR\",\"loopId\":\"TESTIDLOOP\",\"parentId\":\"TESTIDPARENT\"}")); } } diff --git a/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java b/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java index 1c2f5a3f..00bda95c 100644 --- a/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java +++ b/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java @@ -13,7 +13,7 @@ public class SurveyUnitModelTest { @Test public void toJSONTest() throws JsonProcessingException { List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); @@ -37,7 +37,7 @@ public void toJSONTest() throws JsonProcessingException { objectMapper.findAndRegisterModules(); Assertions.assertEquals( - objectMapper.readTree("{\"questionnaireId\":\"TESTIDQUEST\",\"campaignId\":\"TESTIDCAMPAIGN\",\"interrogationId\":\"TESTIDUE\",\"state\":\"COLLECTED\",\"mode\":\"WEB\",\"recordDate\":\"2000-01-01T12:00\",\"fileDate\":\"2000-01-01T12:00\",\"collectedVariables\":[{\"idVar\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"],\"idLoop\":\"TESTIDLOOP\",\"idParent\":\"TESTIDPARENT\"}],\"externalVariables\":[{\"varId\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"]}]}"), + objectMapper.readTree("{\"questionnaireId\":\"TESTIDQUEST\",\"campaignId\":\"TESTIDCAMPAIGN\",\"interrogationId\":\"TESTIDUE\",\"state\":\"COLLECTED\",\"mode\":\"WEB\",\"recordDate\":\"2000-01-01T12:00\",\"fileDate\":\"2000-01-01T12:00\",\"collectedVariables\":[{\"varId\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"],\"loopId\":\"TESTIDLOOP\",\"parentId\":\"TESTIDPARENT\"}],\"externalVariables\":[{\"varId\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"]}]}"), objectMapper.readTree(objectMapper.writeValueAsString(surveyUnitModel)) ); } diff --git a/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableTest.java b/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableTest.java index 640ff5d4..2325b736 100644 --- a/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableTest.java +++ b/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableTest.java @@ -15,7 +15,7 @@ void toJSONTest() throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.findAndRegisterModules(); Assertions.assertEquals(objectMapper.readTree(objectMapper.writeValueAsString(variable)), - objectMapper.readTree("{\"values\":[\"V1\",\"V2\"],\"idVar\":\"TESTIDVAR\"}")); + objectMapper.readTree("{\"values\":[\"V1\",\"V2\"],\"varId\":\"TESTIDVAR\"}")); } } diff --git a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java index 779271d7..a4639315 100644 --- a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java +++ b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java @@ -13,7 +13,6 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import org.springframework.http.ResponseEntity; import java.time.LocalDateTime; import java.time.Month; @@ -44,7 +43,7 @@ static void init(){ void reset(){ surveyUnitPersistencePortStub.getMongoStub().clear(); List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); @@ -70,7 +69,7 @@ void saveAllTest(){ List newSurveyUnitModelList = new ArrayList<>(); List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); @@ -102,11 +101,11 @@ void saveAllTest(){ && surveyUnitDto.getFileDate().equals(LocalDateTime.of(2023,1,1,0,0,0)) && surveyUnitDto.getRecordDate().equals(LocalDateTime.of(2024,1,1,0,0,0)) && !surveyUnitDto.getExternalVariables().stream().filter( - externalVariable -> externalVariable.getIdVar().equals("TESTIDVAR") + externalVariable -> externalVariable.getVarId().equals("TESTIDVAR") && externalVariable.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).toList().isEmpty() && !surveyUnitDto.getCollectedVariables().stream().filter( - collectedVariable -> collectedVariable.getIdVar().equals("TESTIDVAR") + collectedVariable -> collectedVariable.getVarId().equals("TESTIDVAR") && collectedVariable.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).toList().isEmpty() ).isNotEmpty(); @@ -415,7 +414,7 @@ void findLatestByIdAndByIdQuestionnairePerretTest_null_externalVariables(){ private void addAdditionnalDtoToMongoStub(){ List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); @@ -438,7 +437,7 @@ private void addAdditionnalDtoToMongoStub(){ private void addAdditionnalDtoToMongoStub(String idQuestionnaire) { List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); @@ -465,7 +464,7 @@ private void addAdditionnalDtoToMongoStub(DataState state, LocalDateTime fileDate, LocalDateTime recordDate) { List externalVariableList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); diff --git a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java index cbbbd565..c558f0c5 100644 --- a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java +++ b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java @@ -87,7 +87,7 @@ void shouldNotAddForcedSurveyUnit_WhenAllVariablesAreValid() { void shouldAddForcedSurveyUnit_WhenInvalidExternalVariable() { //Add surveyUnit with invalid external Variable - fr.insee.genesis.domain.model.surveyunit.Variable extVar = fr.insee.genesis.domain.model.surveyunit.Variable.builder().idVar("var2").values(List.of("notBoolean")).build(); + fr.insee.genesis.domain.model.surveyunit.Variable extVar = fr.insee.genesis.domain.model.surveyunit.Variable.builder().varId("var2").values(List.of("notBoolean")).build(); List listVarExt = new ArrayList<>(); listVarExt.add(extVar); diff --git a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java index 1e576cd9..f88d5334 100644 --- a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java +++ b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java @@ -41,20 +41,20 @@ static void init(){ List externalVariableList = new ArrayList<>(); ExternalVariable externalVariable = new ExternalVariable(); - externalVariable.setIdVar("TESTIDVAR"); + externalVariable.setVarId("TESTIDVAR"); externalVariable.setValues(List.of(new String[]{"V1", "V2"})); externalVariableList.add(externalVariable); surveyUnitDocumentStatic.setExternalVariables(externalVariableList); List variableStateList = new ArrayList<>(); VariableState variableState = new VariableState(); - variableState.setIdVar("TESTIDVAR"); + variableState.setVarId("TESTIDVAR"); variableState.setValues(List.of(new String[]{"V1", "V2"})); variableStateList.add(variableState); surveyUnitDocumentStatic.setCollectedVariables(variableStateList); List externalVariableDtoList = new ArrayList<>(); - Variable variable = Variable.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + Variable variable = Variable.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableDtoList.add(variable); List collectedVariableList = new ArrayList<>(); @@ -99,12 +99,12 @@ void shouldReturnDocumentDtoFromDocument(){ Assertions.assertThat(surveyUnit.getFileDate()).isEqualTo(LocalDateTime.of(2023,1,1,0,0,0)); Assertions.assertThat(surveyUnit.getExternalVariables()).filteredOn(externalVariableDto -> - externalVariableDto.getIdVar().equals("TESTIDVAR") + externalVariableDto.getVarId().equals("TESTIDVAR") && externalVariableDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); Assertions.assertThat(surveyUnit.getCollectedVariables()).filteredOn(variableStateDto -> - variableStateDto.getIdVar().equals("TESTIDVAR") + variableStateDto.getVarId().equals("TESTIDVAR") && variableStateDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); @@ -123,12 +123,12 @@ void shouldReturnDocumentFromDocumentDto(){ Assertions.assertThat(surveyUnitDocument.getFileDate()).isEqualTo(LocalDateTime.of(2023,1,1,0,0,0)); Assertions.assertThat(surveyUnitDocument.getExternalVariables()).filteredOn(externalVariableDto -> - externalVariableDto.getIdVar().equals("TESTIDVAR") + externalVariableDto.getVarId().equals("TESTIDVAR") && externalVariableDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); Assertions.assertThat(surveyUnitDocument.getCollectedVariables()).filteredOn(variableStateDto -> - variableStateDto.getIdVar().equals("TESTIDVAR") + variableStateDto.getVarId().equals("TESTIDVAR") && variableStateDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); @@ -151,12 +151,12 @@ void shouldReturnDocumentLDtoListFromDocumentList(){ Assertions.assertThat(surveyUnitList.getFirst().getFileDate()).isEqualTo(LocalDateTime.of(2023,1,1,0,0,0)); Assertions.assertThat(surveyUnitList.getFirst().getExternalVariables()).filteredOn(externalVariableDto -> - externalVariableDto.getIdVar().equals("TESTIDVAR") + externalVariableDto.getVarId().equals("TESTIDVAR") && externalVariableDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); Assertions.assertThat(surveyUnitList.getFirst().getCollectedVariables()).filteredOn(variableStateDto -> - variableStateDto.getIdVar().equals("TESTIDVAR") + variableStateDto.getVarId().equals("TESTIDVAR") && variableStateDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); } @@ -177,12 +177,12 @@ void shouldReturnDocumentListFromDocumentDtoList(){ Assertions.assertThat(surveyUnitDocumentList.getFirst().getFileDate()).isEqualTo(LocalDateTime.of(2023,1,1,0,0,0)); Assertions.assertThat(surveyUnitDocumentList.getFirst().getExternalVariables()).filteredOn(externalVariableDto -> - externalVariableDto.getIdVar().equals("TESTIDVAR") + externalVariableDto.getVarId().equals("TESTIDVAR") && externalVariableDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); Assertions.assertThat(surveyUnitDocumentList.getFirst().getCollectedVariables()).filteredOn(variableStateDto -> - variableStateDto.getIdVar().equals("TESTIDVAR") + variableStateDto.getVarId().equals("TESTIDVAR") && variableStateDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); } From cff5812a083ad6423f9b408200e1f1d7f00ab9f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Henninger?= Date: Fri, 10 Jan 2025 16:51:05 +0100 Subject: [PATCH 03/12] End of refactor on ids name --- .../controller/dto/SurveyUnitSimplified.java | 6 +- .../rest/responses/CampaignController.java | 2 +- ...ller.java => InterrogationController.java} | 12 +-- .../rest/responses/ModeController.java | 8 +- .../responses/QuestionnaireController.java | 6 +- .../rest/responses/ResponseController.java | 81 ++++++++++--------- .../sources/json/LunaticJsonDataFile.java | 2 +- .../domain/ports/api/SurveyUnitApiPort.java | 28 +++---- .../ports/spi/SurveyUnitPersistencePort.java | 24 +++--- .../service/surveyunit/SurveyUnitService.java | 74 ++++++++--------- .../volumetry/VolumetryLogService.java | 4 +- .../adapter/SurveyUnitMongoAdapter.java | 78 +++++++++--------- .../SurveyUnitMongoDBRepository.java | 26 +++--- .../java/fr/insee/genesis/TestConstants.java | 3 + ....java => InterrogationControllerTest.java} | 16 ++-- .../rest/responses/ModeControllerTest.java | 8 +- .../QuestionnaireControllerTest.java | 14 ++-- .../responses/ResponseControllerTest.java | 46 +++++------ .../domain/service/SurveyUnitServiceTest.java | 38 ++++----- .../SurveyUnitModelMongoAdapterTest.java | 42 +++++----- .../stubs/SurveyUnitPersistencePortStub.java | 56 ++++++------- 21 files changed, 287 insertions(+), 287 deletions(-) rename src/main/java/fr/insee/genesis/controller/rest/responses/{IdUEController.java => InterrogationController.java} (66%) rename src/test/java/fr/insee/genesis/controller/rest/responses/{IdUEControllerTest.java => InterrogationControllerTest.java} (70%) diff --git a/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitSimplified.java b/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitSimplified.java index cdec5d58..06262775 100644 --- a/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitSimplified.java +++ b/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitSimplified.java @@ -12,9 +12,9 @@ @Data public class SurveyUnitSimplified { - private String idQuest; - private String idCampaign; - private String idUE; + private String questionnaireId; + private String campaignId; + private String interrogationId; private Mode mode; private List variablesUpdate; private List externalVariables; diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/CampaignController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/CampaignController.java index 1e3135c4..549e02f7 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/CampaignController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/CampaignController.java @@ -27,7 +27,7 @@ public CampaignController(SurveyUnitApiPort surveyUnitService) { @Operation(summary = "List campaigns in database") @GetMapping(path = "/") public ResponseEntity> getCampaigns() { - Set campaigns = surveyUnitService.findDistinctIdCampaigns(); + Set campaigns = surveyUnitService.findDistinctCampaignIds(); return ResponseEntity.ok(campaigns); } diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/IdUEController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/InterrogationController.java similarity index 66% rename from src/main/java/fr/insee/genesis/controller/rest/responses/IdUEController.java rename to src/main/java/fr/insee/genesis/controller/rest/responses/InterrogationController.java index b47df612..4bfc4960 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/IdUEController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/InterrogationController.java @@ -12,23 +12,23 @@ import java.util.List; -@RequestMapping(path = "/idUEs" ) +@RequestMapping(path = "/interrogations" ) @Controller @Slf4j -public class IdUEController { +public class InterrogationController { private final SurveyUnitApiPort surveyUnitService; - public IdUEController(SurveyUnitApiPort surveyUnitService) { + public InterrogationController(SurveyUnitApiPort surveyUnitService) { this.surveyUnitService = surveyUnitService; } - @Operation(summary = "Retrieve all IdUEs for a given questionnaire") + @Operation(summary = "Retrieve all interrogations for a given questionnaire") @GetMapping(path = "/by-questionnaire") - public ResponseEntity> getAllIdUEsByQuestionnaire(@RequestParam("idQuestionnaire") String idQuestionnaire) { - List responses = surveyUnitService.findDistinctIdUEsByIdQuestionnaire(idQuestionnaire); + public ResponseEntity> getAllInterrogationIdsByQuestionnaire(@RequestParam("questionnaireId") String questionnaireId) { + List responses = surveyUnitService.findDistinctInterrogationIdsByQuestionnaireId(questionnaireId); return ResponseEntity.ok(responses); } diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/ModeController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/ModeController.java index 320af308..3fb31e7e 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/ModeController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/ModeController.java @@ -28,15 +28,15 @@ public ModeController(SurveyUnitApiPort surveyUnitService) { @Operation(summary = "List sources/modes used for a given questionnaire") @GetMapping(path = "/by-questionnaire") - public ResponseEntity> getModesByQuestionnaire(@RequestParam("idQuestionnaire") String idQuestionnaire) { - List modes = surveyUnitService.findModesByIdQuestionnaire(idQuestionnaire); + public ResponseEntity> getModesByQuestionnaire(@RequestParam("questionnaireId") String questionnaireId) { + List modes = surveyUnitService.findModesByQuestionnaireId(questionnaireId); return ResponseEntity.ok(modes); } @Operation(summary = "List sources/modes used for a given campaign") @GetMapping(path = "/by-campaign") - public ResponseEntity> getModesByCampaign(@RequestParam("idCampaign") String idCampaign) { - List modes = surveyUnitService.findModesByIdCampaign(idCampaign); + public ResponseEntity> getModesByCampaign(@RequestParam("campaignId") String campaignId) { + List modes = surveyUnitService.findModesByCampaignId(campaignId); return ResponseEntity.ok(modes); } diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java index ad8303c4..82064575 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/QuestionnaireController.java @@ -30,7 +30,7 @@ public QuestionnaireController(SurveyUnitApiPort surveyUnitService) { @Operation(summary = "List questionnaires in database") @GetMapping(path = "/") public ResponseEntity> getQuestionnaires() { - Set questionnaires = surveyUnitService.findDistinctIdQuestionnaires(); + Set questionnaires = surveyUnitService.findDistinctQuestionnaireIds(); return ResponseEntity.ok(questionnaires); } @@ -45,8 +45,8 @@ public ResponseEntity> getQuestionnairesWithCamp @Operation(summary = "List questionnaires used for a given campaign") @GetMapping(path = "/by-campaign") - public ResponseEntity> getQuestionnairesByCampaign(@RequestParam("idCampaign") String idCampaign) { - Set questionnaires = surveyUnitService.findIdQuestionnairesByIdCampaign(idCampaign); + public ResponseEntity> getQuestionnairesByCampaign(@RequestParam("campaignId") String campaignId) { + Set questionnaires = surveyUnitService.findQuestionnaireIdsByCampaignId(campaignId); return ResponseEntity.ok(questionnaires); } diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java index 9c5c7091..7a95bef7 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java @@ -58,7 +58,7 @@ @RequestMapping(path = "/responses" ) @Controller -@Tag(name = "Response services for interrogations", description = "A **response** is considered the entire set of data associated with an interrogation (idUE x idQuestionnaire). \n\n These data may have different state (collected, edited, external, ...) ") +@Tag(name = "Response services", description = "A **response** is considered the entire set of data associated with an interrogation (survey unit x questionnaireId). \n\n These data may have different state (collected, edited, external, ...) ") @Slf4j public class ResponseController { @@ -251,67 +251,67 @@ public ResponseEntity saveResponsesFromAllCampaignFolders(){ //DELETE @Operation(summary = "Delete all responses associated with a questionnaire") @DeleteMapping(path = "/delete/by-questionnaire") - public ResponseEntity deleteAllResponsesByQuestionnaire(@RequestParam("idQuestionnaire") String idQuestionnaire) { - log.info("Try to delete all responses of questionnaire : {}", idQuestionnaire); - Long ndDocuments = surveyUnitService.deleteByIdQuestionnaire(idQuestionnaire); + public ResponseEntity deleteAllResponsesByQuestionnaire(@RequestParam("questionnaireId") String questionnaireId) { + log.info("Try to delete all responses of questionnaire : {}", questionnaireId); + Long ndDocuments = surveyUnitService.deleteByQuestionnaireId(questionnaireId); log.info("{} responses deleted", ndDocuments); return ResponseEntity.ok(String.format("%d responses deleted", ndDocuments)); } //GET - @Operation(summary = "Retrieve responses for an interrogation, using IdUE and IdQuestionnaire from Genesis Database") + @Operation(summary = "Retrieve responses for an interrogation, using interrogationId and questionnaireId from Genesis Database") @GetMapping(path = "/by-ue-and-questionnaire") - public ResponseEntity> findResponsesByUEAndQuestionnaire(@RequestParam("idUE") String idUE, - @RequestParam("idQuestionnaire") String idQuestionnaire) { - List responses = surveyUnitService.findByIdsUEAndQuestionnaire(idUE, idQuestionnaire); + public ResponseEntity> findResponsesByInterrogationAndQuestionnaire(@RequestParam("interrogationId") String interrogationId, + @RequestParam("questionnaireId") String questionnaireId) { + List responses = surveyUnitService.findByIdsInterrogationAndQuestionnaire(interrogationId, questionnaireId); return ResponseEntity.ok(responses); } - @Operation(summary = "Retrieve responses for an interrogation, using IdUE and IdQuestionnaire from Genesis Database with the latest value for each available state of every variable") + @Operation(summary = "Retrieve responses for an interrogation, using interrogationId and questionnaireId from Genesis Database with the latest value for each available state of every variable") @GetMapping(path = "/by-ue-and-questionnaire/latest-states") - public ResponseEntity findResponsesByUEAndQuestionnaireLatestStates( - @RequestParam("idUE") String idUE, - @RequestParam("idQuestionnaire") String idQuestionnaire) { - SurveyUnitDto response = surveyUnitService.findLatestValuesByStateByIdAndByIdQuestionnaire(idUE, idQuestionnaire); + public ResponseEntity findResponsesByInterrogationAndQuestionnaireLatestStates( + @RequestParam("interrogationId") String interrogationId, + @RequestParam("questionnaireId") String questionnaireId) { + SurveyUnitDto response = surveyUnitService.findLatestValuesByStateByIdAndByQuestionnaireId(interrogationId, questionnaireId); return ResponseEntity.ok(response); } @Operation(summary = "Retrieve all responses (for all interrogations) of one questionnaire") @GetMapping(path = "/by-questionnaire") - public ResponseEntity findAllResponsesByQuestionnaire(@RequestParam("idQuestionnaire") String idQuestionnaire) { - log.info("Try to find all responses of questionnaire : {}", idQuestionnaire); + public ResponseEntity findAllResponsesByQuestionnaire(@RequestParam("questionnaireId") String questionnaireId) { + log.info("Try to find all responses of questionnaire : {}", questionnaireId); //Get all IdUEs/modes of the survey - List idUEsResponses = surveyUnitService.findIdUEsAndModesByIdQuestionnaire(idQuestionnaire); - log.info("Responses found : {}", idUEsResponses.size()); + List interrogationIdsResponses = surveyUnitService.findInterrogationIdsAndModesByQuestionnaireId(questionnaireId); + log.info("Responses found : {}", interrogationIdsResponses.size()); - String filepathString = String.format("OUT/%s/OUT_ALL_%s.json", idQuestionnaire, LocalDateTime.now().toString().replace(":", "")); + String filepathString = String.format("OUT/%s/OUT_ALL_%s.json", questionnaireId, LocalDateTime.now().toString().replace(":", "")); Path filepath = Path.of(fileUtils.getDataFolderSource(), filepathString); - try (Stream responsesStream = surveyUnitService.findByIdQuestionnaire(idQuestionnaire)) { + try (Stream responsesStream = surveyUnitService.findByQuestionnaireId(questionnaireId)) { fileUtils.writeSuUpdatesInFile(filepath, responsesStream); } catch (IOException e) { log.error("Error while writing file", e); return ResponseEntity.internalServerError().body(filepath); } - log.info("End of extraction, responses extracted: {}", idUEsResponses.size()); + log.info("End of extraction, responses extracted: {}", interrogationIdsResponses.size()); return ResponseEntity.ok(filepath); } - @Operation(summary = "Retrieve responses for an interrogation, using IdUE and IdQuestionnaire from Genesis Database. It returns only the latest value of each variable regardless of the state.") + @Operation(summary = "Retrieve responses for an interrogation, using interrogationId and questionnaireId from Genesis Database. It returns only the latest value of each variable regardless of the state.") @GetMapping(path = "/by-ue-and-questionnaire/latest") - public ResponseEntity> getLatestByUE(@RequestParam("idUE") String idUE, - @RequestParam("idQuestionnaire") String idQuestionnaire) { - List responses = surveyUnitService.findLatestByIdAndByIdQuestionnaire(idUE, idQuestionnaire); + public ResponseEntity> getLatestByInterrogation(@RequestParam("interrogationId") String interrogationId, + @RequestParam("questionnaireId") String questionnaireId) { + List responses = surveyUnitService.findLatestByIdAndByQuestionnaireId(interrogationId, questionnaireId); return ResponseEntity.ok(responses); } - @Operation(summary = "Retrieve responses for an interrogation, using IdUE and IdQuestionnaire from Genesis Database. For a given mode, it returns only the latest value of each variable regardless of the state. The result is one object by mode in the output") + @Operation(summary = "Retrieve responses for an interrogation, using interrogationId and questionnaireId from Genesis Database. For a given mode, it returns only the latest value of each variable regardless of the state. The result is one object by mode in the output") @GetMapping(path = "/simplified/by-ue-questionnaire-and-mode/latest") - public ResponseEntity getLatestByUEOneObject(@RequestParam("idUE") String idUE, - @RequestParam("idQuestionnaire") String idQuestionnaire, + public ResponseEntity getLatestByInterrogationOneObject(@RequestParam("interrogationId") String interrogationId, + @RequestParam("questionnaireId") String questionnaireId, @RequestParam("mode") Mode mode) { - List responses = surveyUnitService.findLatestByIdAndByIdQuestionnaire(idUE, idQuestionnaire); + List responses = surveyUnitService.findLatestByIdAndByQuestionnaireId(interrogationId, questionnaireId); List outputVariables = new ArrayList<>(); List outputExternalVariables = new ArrayList<>(); responses.stream().filter(rep -> rep.getMode().equals(mode)).forEach(response -> { @@ -319,9 +319,9 @@ public ResponseEntity getLatestByUEOneObject(@RequestParam outputExternalVariables.addAll(response.getExternalVariables()); }); return ResponseEntity.ok(SurveyUnitSimplified.builder() - .idQuest(responses.getFirst().getQuestionnaireId()) - .idCampaign(responses.getFirst().getCampaignId()) - .idUE(responses.getFirst().getInterrogationId()) + .questionnaireId(responses.getFirst().getQuestionnaireId()) + .campaignId(responses.getFirst().getCampaignId()) + .interrogationId(responses.getFirst().getInterrogationId()) .variablesUpdate(outputVariables) .externalVariables(outputExternalVariables) .build()); @@ -331,13 +331,13 @@ public ResponseEntity getLatestByUEOneObject(@RequestParam @Operation(summary = "Retrieve all responses for a questionnaire and a list of UE", description = "Return the latest state for each variable for the given ids and a given questionnaire.
" + "For a given id, the endpoint returns a document by collection mode (if there is more than one).") - @PostMapping(path = "/simplified/by-list-ue-and-questionnaire/latest") - public ResponseEntity> getLatestForUEList(@RequestParam("idQuestionnaire") String idQuestionnaire, - @RequestBody List idUEs) { + @PostMapping(path = "/simplified/by-list-interrogation-and-questionnaire/latest") + public ResponseEntity> getLatestForInterrogationList(@RequestParam("questionnaireId") String questionnaireId, + @RequestBody List interrogationIds) { List results = new ArrayList<>(); - List modes = surveyUnitService.findModesByIdQuestionnaire(idQuestionnaire); - idUEs.forEach(idUE -> { - List responses = surveyUnitService.findLatestByIdAndByIdQuestionnaire(idUE.getIdUE(), idQuestionnaire); + List modes = surveyUnitService.findModesByQuestionnaireId(questionnaireId); + interrogationIds.forEach(interrogationId -> { + List responses = surveyUnitService.findLatestByIdAndByQuestionnaireId(interrogationId.getIdUE(), questionnaireId); modes.forEach(mode -> { List outputVariables = new ArrayList<>(); List outputExternalVariables = new ArrayList<>(); @@ -347,9 +347,9 @@ public ResponseEntity> getLatestForUEList(@RequestPar }); if (!outputVariables.isEmpty() || !outputExternalVariables.isEmpty()) { results.add(SurveyUnitSimplified.builder() - .idQuest(responses.getFirst().getQuestionnaireId()) - .idCampaign(responses.getFirst().getCampaignId()) - .idUE(responses.getFirst().getInterrogationId()) + .questionnaireId(responses.getFirst().getQuestionnaireId()) + .campaignId(responses.getFirst().getCampaignId()) + .interrogationId(responses.getFirst().getInterrogationId()) .mode(mode) .variablesUpdate(outputVariables) .externalVariables(outputExternalVariables) @@ -554,6 +554,7 @@ private ResponseEntity processRawXmlFile(Path filepath, Mode modeSpecifi lunaticXmlRawDataApiPort.saveData(campaign, modeSpecified); log.debug(SUCCESS_MESSAGE); + log.info("File {} processed" , filepath.getFileName()); return ResponseEntity.ok().build(); } diff --git a/src/main/java/fr/insee/genesis/controller/sources/json/LunaticJsonDataFile.java b/src/main/java/fr/insee/genesis/controller/sources/json/LunaticJsonDataFile.java index 9ffc07c8..7ca26137 100644 --- a/src/main/java/fr/insee/genesis/controller/sources/json/LunaticJsonDataFile.java +++ b/src/main/java/fr/insee/genesis/controller/sources/json/LunaticJsonDataFile.java @@ -9,7 +9,7 @@ public class LunaticJsonDataFile { @JsonProperty("Id") - String idQuest; + String questionnaireId; @JsonProperty("Label") String labelQuest; diff --git a/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java b/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java index 29a5def5..e2f1d701 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java @@ -16,34 +16,34 @@ public interface SurveyUnitApiPort { void saveSurveyUnits(List suList); - List findByIdsUEAndQuestionnaire(String idUE, String idQuest); + List findByIdsInterrogationAndQuestionnaire(String interrogationId, String questionnaireId); - List findByIdUE(String idUE); + List findByInterrogationId(String interrogationId); - Stream findByIdQuestionnaire(String idQuestionnaire); + Stream findByQuestionnaireId(String questionnaireId); - List findLatestByIdAndByIdQuestionnaire(String idUE, String idQuest); - SurveyUnitDto findLatestValuesByStateByIdAndByIdQuestionnaire(String idUE, String idQuest); + List findLatestByIdAndByQuestionnaireId(String interrogationId, String questionnaireId); + SurveyUnitDto findLatestValuesByStateByIdAndByQuestionnaireId(String interrogationId, String questionnaireId); - List findIdUEsAndModesByIdQuestionnaire(String idQuestionnaire); + List findInterrogationIdsAndModesByQuestionnaireId(String questionnaireId); - List findDistinctIdUEsByIdQuestionnaire(String idQuestionnaire); + List findDistinctInterrogationIdsByQuestionnaireId(String questionnaireId); - List findModesByIdQuestionnaire(String idQuestionnaire); + List findModesByQuestionnaireId(String questionnaireId); - List findModesByIdCampaign(String idCampaign); + List findModesByCampaignId(String campaignId); - Long deleteByIdQuestionnaire(String idQuestionnaire); + Long deleteByQuestionnaireId(String questionnaireId); long countResponses(); - Set findIdQuestionnairesByIdCampaign(String idCampaign); + Set findQuestionnaireIdsByCampaignId(String campaignId); - Set findDistinctIdCampaigns(); + Set findDistinctCampaignIds(); - long countResponsesByIdCampaign(String idCampaign); + long countResponsesByCampaignId(String campaignId); - Set findDistinctIdQuestionnaires(); + Set findDistinctQuestionnaireIds(); List findCampaignsWithQuestionnaires(); diff --git a/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java b/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java index af4aa319..093a1867 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitPersistencePort.java @@ -10,29 +10,29 @@ public interface SurveyUnitPersistencePort { void saveAll(List suList); - List findByIds(String idUE, String idQuest); + List findByIds(String interrogationId, String questionnaireId); - List findByIdUE(String idUE); + List findByInterrogationId(String interrogationId); - List findByIdUEsAndIdQuestionnaire(List idUEs, String idQuestionnaire); + List findByInterrogationIdsAndQuestionnaireId(List interrogationIds, String questionnaireId); - Stream findByIdQuestionnaire(String idQuestionnaire); + Stream findByQuestionnaireId(String questionnaireId); - List findIdUEsByIdQuestionnaire(String idQuestionnaire); + List findInterrogationIdsByQuestionnaireId(String questionnaireId); - List findIdUEsByIdCampaign(String idCampaign); + List findInterrogationIdsByCampaignId(String campaignId); - Long deleteByIdQuestionnaire(String idQuestionnaire); + Long deleteByQuestionnaireId(String questionnaireId); long count(); - Set findIdQuestionnairesByIdCampaign(String idCampaign); + Set findQuestionnaireIdsByCampaignId(String campaignId); - Set findDistinctIdCampaigns(); + Set findDistinctCampaignIds(); - long countByIdCampaign(String idCampaign); + long countByCampaignId(String campaignId); - Set findDistinctIdQuestionnaires(); + Set findDistinctQuestionnaireIds(); - Set findIdCampaignsByIdQuestionnaire(String idQuestionnaire); + Set findCampaignIdsByQuestionnaireId(String questionnaireId); } diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index 937b8a89..ff6d8dc3 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -29,32 +29,32 @@ public void saveSurveyUnits(List suDtos) { } @Override - public List findByIdsUEAndQuestionnaire(String idUE, String idQuest) { - return surveyUnitPersistencePort.findByIds(idUE, idQuest); + public List findByIdsInterrogationAndQuestionnaire(String interrogationId, String questionnaireId) { + return surveyUnitPersistencePort.findByIds(interrogationId, questionnaireId); } @Override - public List findByIdUE(String idUE) { - return surveyUnitPersistencePort.findByIdUE(idUE); + public List findByInterrogationId(String interrogationId) { + return surveyUnitPersistencePort.findByInterrogationId(interrogationId); } @Override - public Stream findByIdQuestionnaire(String idQuestionnaire) { - return surveyUnitPersistencePort.findByIdQuestionnaire(idQuestionnaire); + public Stream findByQuestionnaireId(String questionnaireId) { + return surveyUnitPersistencePort.findByQuestionnaireId(questionnaireId); } /** * In this method we want to get the latest update for each variable of a survey unit * But we need to separate the updates by mode * So we will calculate the latest state for a given collection mode - * @param idUE : Survey unit id - * @param idQuest : Questionnaire id + * @param interrogationId : Survey unit id + * @param questionnaireId : Questionnaire id * @return the latest update for each variable of a survey unit */ @Override - public List findLatestByIdAndByIdQuestionnaire(String idUE, String idQuest) { + public List findLatestByIdAndByQuestionnaireId(String interrogationId, String questionnaireId) { List latestUpdatesbyVariables = new ArrayList<>(); - List surveyUnitModels = surveyUnitPersistencePort.findByIds(idUE, idQuest); + List surveyUnitModels = surveyUnitPersistencePort.findByIds(interrogationId, questionnaireId); List modes = getDistinctsModes(surveyUnitModels); modes.forEach(mode ->{ List suByMode = surveyUnitModels.stream() @@ -108,9 +108,9 @@ public List findLatestByIdAndByIdQuestionnaire(String idUE, Str } @Override - public SurveyUnitDto findLatestValuesByStateByIdAndByIdQuestionnaire(String idUE, String idQuest) { + public SurveyUnitDto findLatestValuesByStateByIdAndByQuestionnaireId(String interrogationId, String questionnaireId) { SurveyUnitDto surveyUnitDto = SurveyUnitDto.builder() - .surveyUnitId(idUE) + .surveyUnitId(interrogationId) .collectedVariables(new ArrayList<>()) .externalVariables(new ArrayList<>()) .build(); @@ -118,7 +118,7 @@ public SurveyUnitDto findLatestValuesByStateByIdAndByIdQuestionnaire(String idUE //Extract variables Map collectedVariableMap = new HashMap<>(); Map externalVariableMap = new HashMap<>(); - List surveyUnitModels = surveyUnitPersistencePort.findByIds(idUE, idQuest); + List surveyUnitModels = surveyUnitPersistencePort.findByIds(interrogationId, questionnaireId); List modes = getDistinctsModes(surveyUnitModels); modes.forEach(mode -> { List suByMode = surveyUnitModels.stream() @@ -133,38 +133,38 @@ public SurveyUnitDto findLatestValuesByStateByIdAndByIdQuestionnaire(String idUE } @Override - public List findDistinctIdUEsByIdQuestionnaire(String idQuestionnaire) { - List surveyUnitModels = surveyUnitPersistencePort.findIdUEsByIdQuestionnaire(idQuestionnaire); + public List findDistinctInterrogationIdsByQuestionnaireId(String questionnaireId) { + List surveyUnitModels = surveyUnitPersistencePort.findInterrogationIdsByQuestionnaireId(questionnaireId); List suIds = new ArrayList<>(); surveyUnitModels.forEach(surveyUnitDto -> suIds.add(new SurveyUnitId(surveyUnitDto.getInterrogationId()))); return suIds.stream().distinct().toList(); } @Override - public List findIdUEsAndModesByIdQuestionnaire(String idQuestionnaire) { - List surveyUnitModels = surveyUnitPersistencePort.findIdUEsByIdQuestionnaire(idQuestionnaire); + public List findInterrogationIdsAndModesByQuestionnaireId(String questionnaireId) { + List surveyUnitModels = surveyUnitPersistencePort.findInterrogationIdsByQuestionnaireId(questionnaireId); return surveyUnitModels.stream().distinct().toList(); } @Override - public List findModesByIdQuestionnaire(String idQuestionnaire) { - List surveyUnitModels = surveyUnitPersistencePort.findIdUEsByIdQuestionnaire(idQuestionnaire); + public List findModesByQuestionnaireId(String questionnaireId) { + List surveyUnitModels = surveyUnitPersistencePort.findInterrogationIdsByQuestionnaireId(questionnaireId); List sources = new ArrayList<>(); surveyUnitModels.forEach(surveyUnitDto -> sources.add(surveyUnitDto.getMode())); return sources.stream().distinct().toList(); } @Override - public List findModesByIdCampaign(String idCampaign) { - List surveyUnitModels = surveyUnitPersistencePort.findIdUEsByIdCampaign(idCampaign); + public List findModesByCampaignId(String campaignId) { + List surveyUnitModels = surveyUnitPersistencePort.findInterrogationIdsByCampaignId(campaignId); List sources = new ArrayList<>(); surveyUnitModels.forEach(surveyUnitDto -> sources.add(surveyUnitDto.getMode())); return sources.stream().distinct().toList(); } @Override - public Long deleteByIdQuestionnaire(String idQuestionnaire) { - return surveyUnitPersistencePort.deleteByIdQuestionnaire(idQuestionnaire); + public Long deleteByQuestionnaireId(String questionnaireId) { + return surveyUnitPersistencePort.deleteByQuestionnaireId(questionnaireId); } @Override @@ -173,42 +173,42 @@ public long countResponses() { } @Override - public Set findIdQuestionnairesByIdCampaign(String idCampaign) { - return surveyUnitPersistencePort.findIdQuestionnairesByIdCampaign(idCampaign); + public Set findQuestionnaireIdsByCampaignId(String campaignId) { + return surveyUnitPersistencePort.findQuestionnaireIdsByCampaignId(campaignId); } @Override - public Set findDistinctIdCampaigns() { - return surveyUnitPersistencePort.findDistinctIdCampaigns(); + public Set findDistinctCampaignIds() { + return surveyUnitPersistencePort.findDistinctCampaignIds(); } @Override public List findCampaignsWithQuestionnaires() { List campaignsWithQuestionnaireList = new ArrayList<>(); - for(String idCampaign : findDistinctIdCampaigns()){ - Set questionnaires = findIdQuestionnairesByIdCampaign(idCampaign); - campaignsWithQuestionnaireList.add(new CampaignWithQuestionnaire(idCampaign,questionnaires)); + for(String campaignId : findDistinctCampaignIds()){ + Set questionnaires = findQuestionnaireIdsByCampaignId(campaignId); + campaignsWithQuestionnaireList.add(new CampaignWithQuestionnaire(campaignId,questionnaires)); } return campaignsWithQuestionnaireList; } @Override - public long countResponsesByIdCampaign(String idCampaign){ - return surveyUnitPersistencePort.countByIdCampaign(idCampaign); + public long countResponsesByCampaignId(String campaignId){ + return surveyUnitPersistencePort.countByCampaignId(campaignId); } @Override - public Set findDistinctIdQuestionnaires() { - return surveyUnitPersistencePort.findDistinctIdQuestionnaires(); + public Set findDistinctQuestionnaireIds() { + return surveyUnitPersistencePort.findDistinctQuestionnaireIds(); } @Override public List findQuestionnairesWithCampaigns() { List questionnaireWithCampaignList = new ArrayList<>(); - for(String idQuestionnaire : findDistinctIdQuestionnaires()){ - Set campaigns = surveyUnitPersistencePort.findIdCampaignsByIdQuestionnaire(idQuestionnaire); + for(String questionnaireId : findDistinctQuestionnaireIds()){ + Set campaigns = surveyUnitPersistencePort.findCampaignIdsByQuestionnaireId(questionnaireId); questionnaireWithCampaignList.add(new QuestionnaireWithCampaign( - idQuestionnaire, + questionnaireId, campaigns) ); diff --git a/src/main/java/fr/insee/genesis/domain/service/volumetry/VolumetryLogService.java b/src/main/java/fr/insee/genesis/domain/service/volumetry/VolumetryLogService.java index a4600ca0..e324e61b 100644 --- a/src/main/java/fr/insee/genesis/domain/service/volumetry/VolumetryLogService.java +++ b/src/main/java/fr/insee/genesis/domain/service/volumetry/VolumetryLogService.java @@ -39,9 +39,9 @@ public void writeVolumetries(SurveyUnitApiPort surveyUnitApiPort) throws IOExcep Files.writeString(logFilePath, "campaign;volumetry\n"); //Write lines - Set campaigns = surveyUnitApiPort.findDistinctIdCampaigns(); + Set campaigns = surveyUnitApiPort.findDistinctCampaignIds(); for (String campaignId : campaigns) { - long countResult = surveyUnitApiPort.countResponsesByIdCampaign(campaignId); + long countResult = surveyUnitApiPort.countResponsesByCampaignId(campaignId); String line = campaignId + ";" + countResult + "\n"; diff --git a/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java b/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java index be5daced..57c5ab1a 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java +++ b/src/main/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitMongoAdapter.java @@ -43,23 +43,23 @@ public void saveAll(List suListDto) { } @Override - public List findByIds(String idUE, String idQuest) { - List surveyUnits = mongoRepository.findByIdUEAndIdQuestionnaire(idUE, idQuest); + public List findByIds(String interrogationId, String questionnaireId) { + List surveyUnits = mongoRepository.findByInterrogationIdAndQuestionnaireId(interrogationId, questionnaireId); return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits); } @Override - public List findByIdUE(String idUE) { - List surveyUnits = mongoRepository.findByIdUE(idUE); + public List findByInterrogationId(String questionnaireId) { + List surveyUnits = mongoRepository.findByInterrogationId(questionnaireId); return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits); } @Override - public List findByIdUEsAndIdQuestionnaire(List idUEs, String idQuestionnaire) { + public List findByInterrogationIdsAndQuestionnaireId(List questionnaireIds, String questionnaireId) { List surveyUnits= new ArrayList<>(); // TODO: 18-10-2023 : find a way to do this in one query - idUEs.forEach(su -> { - List docs = mongoRepository.findByIdUEAndIdQuestionnaire(su.getInterrogationId(), idQuestionnaire); + questionnaireIds.forEach(su -> { + List docs = mongoRepository.findByInterrogationIdAndQuestionnaireId(su.getInterrogationId(), questionnaireId); surveyUnits.addAll(docs); }); return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits); @@ -67,14 +67,14 @@ public List findByIdUEsAndIdQuestionnaire(List @Override - public Stream findByIdQuestionnaire(String idQuestionnaire) { - Stream surveyUnits = mongoRepository.findByIdQuestionnaire(idQuestionnaire); + public Stream findByQuestionnaireId(String questionnaireId) { + Stream surveyUnits = mongoRepository.findByQuestionnaireId(questionnaireId); return surveyUnits.map(SurveyUnitDocumentMapper.INSTANCE::documentToModel); } @Override - public Long deleteByIdQuestionnaire(String idQuestionnaire) { - return mongoRepository.deleteByIdQuestionnaire(idQuestionnaire); + public Long deleteByQuestionnaireId(String questionnaireId) { + return mongoRepository.deleteByQuestionnaireId(questionnaireId); } @Override @@ -83,80 +83,80 @@ public long count() { } @Override - public Set findIdQuestionnairesByIdCampaign(String idCampaign){ + public Set findQuestionnaireIdsByCampaignId(String campaignId){ Set mongoResponse = - mongoRepository.findIdQuestionnairesByIdCampaign(idCampaign); + mongoRepository.findQuestionnaireIdsByCampaignId(campaignId); - //Extract idQuestionnaires from JSON response - Set idQuestionnaires = new HashSet<>(); + //Extract questionnaireIds from JSON response + Set questionnaireIds = new HashSet<>(); for(String line : mongoResponse){ ObjectMapper objectMapper = new ObjectMapper(); try{ JsonNode jsonNode = objectMapper.readTree(line); - idQuestionnaires.add(jsonNode.get("idQuestionnaire").asText()); + questionnaireIds.add(jsonNode.get("questionnaireId").asText()); }catch (JsonProcessingException e){ log.error(e.getMessage()); } } - return idQuestionnaires; + return questionnaireIds; } @Override - public Set findDistinctIdCampaigns() { - Set idCampaigns = new HashSet<>(); - for(String idCampaign : mongoTemplate.getCollection(Constants.MONGODB_RESPONSE_COLLECTION_NAME).distinct("idCampaign", + public Set findDistinctCampaignIds() { + Set campaignIds = new HashSet<>(); + for(String campaignId : mongoTemplate.getCollection(Constants.MONGODB_RESPONSE_COLLECTION_NAME).distinct("campaignId", String.class)){ - idCampaigns.add(idCampaign); + campaignIds.add(campaignId); } - return idCampaigns; + return campaignIds; } @Override - public List findIdUEsByIdQuestionnaire(String idQuestionnaire) { - List surveyUnits = mongoRepository.findIdUEsByIdQuestionnaire(idQuestionnaire); + public List findInterrogationIdsByQuestionnaireId(String questionnaireId) { + List surveyUnits = mongoRepository.findInterrogationIdsByQuestionnaireId(questionnaireId); return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits); } @Override - public List findIdUEsByIdCampaign(String idCampaign) { - List surveyUnits = mongoRepository.findIdUEsByIdCampaign(idCampaign); + public List findInterrogationIdsByCampaignId(String campaignId) { + List surveyUnits = mongoRepository.findInterrogationIdsByCampaignId(campaignId); return surveyUnits.isEmpty() ? Collections.emptyList() : SurveyUnitDocumentMapper.INSTANCE.listDocumentToListModel(surveyUnits); } - public long countByIdCampaign(String idCampaign){ - return mongoRepository.countByIdCampaign(idCampaign); + public long countByCampaignId(String campaignId){ + return mongoRepository.countByCampaignId(campaignId); } @Override - public Set findDistinctIdQuestionnaires() { - Set idQuestionnaires = new HashSet<>(); - for(String idQuestionnaire : mongoTemplate.getCollection(Constants.MONGODB_RESPONSE_COLLECTION_NAME).distinct( - "idQuestionnaire", + public Set findDistinctQuestionnaireIds() { + Set questionnaireIds = new HashSet<>(); + for(String questionnaireId : mongoTemplate.getCollection(Constants.MONGODB_RESPONSE_COLLECTION_NAME).distinct( + "questionnaireId", String.class)){ - idQuestionnaires.add(idQuestionnaire); + questionnaireIds.add(questionnaireId); } - return idQuestionnaires; + return questionnaireIds; } @Override - public Set findIdCampaignsByIdQuestionnaire(String idQuestionnaire) { + public Set findCampaignIdsByQuestionnaireId(String questionnaireId) { List mongoResponse = - mongoRepository.findIdCampaignsByIdQuestionnaire(idQuestionnaire).stream().distinct().toList(); + mongoRepository.findCampaignIdsByQuestionnaireId(questionnaireId).stream().distinct().toList(); //Extract idCampagigns from JSON response - Set idCampaigns = new HashSet<>(); + Set campaignIds = new HashSet<>(); for(String line : mongoResponse){ ObjectMapper objectMapper = new ObjectMapper(); try{ JsonNode jsonNode = objectMapper.readTree(line); - idCampaigns.add(jsonNode.get("idCampaign").asText()); + campaignIds.add(jsonNode.get("campaignId").asText()); }catch (JsonProcessingException e){ log.error(e.getMessage()); } } - return idCampaigns; + return campaignIds; } } diff --git a/src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java b/src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java index 18c2152b..88624365 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java +++ b/src/main/java/fr/insee/genesis/infrastructure/repository/SurveyUnitMongoDBRepository.java @@ -13,28 +13,28 @@ @Repository public interface SurveyUnitMongoDBRepository extends MongoRepository { - List findByIdUE(String idUE); + List findByInterrogationId(String interrogationId); - List findByIdUEAndIdQuestionnaire(String idUE, String idQuestionnaire); + List findByInterrogationIdAndQuestionnaireId(String interrogationId, String questionnaireId); - @Query(value = "{ 'idQuestionnaire' : ?0 }", fields = "{ 'idUE' : 1, 'mode' : 1 }") - List findIdUEsByIdQuestionnaire(String idQuestionnaire); + @Query(value = "{ 'questionnaireId' : ?0 }", fields = "{ 'interrogationId' : 1, 'mode' : 1 }") + List findInterrogationIdsByQuestionnaireId(String questionnaireId); - @Query(value = "{ 'idCampaign' : ?0 }", fields = "{ 'idUE' : 1, 'mode' : 1 }") - List findIdUEsByIdCampaign(String idCampaign); + @Query(value = "{ 'campaignId' : ?0 }", fields = "{ 'interrogationId' : 1, 'mode' : 1 }") + List findInterrogationIdsByCampaignId(String campaignId); - Long deleteByIdQuestionnaire(String idQuestionnaire); + Long deleteByQuestionnaireId(String questionnaireId); @Meta(cursorBatchSize = 20) - Stream findByIdQuestionnaire(String idQuestionnaire); + Stream findByQuestionnaireId(String questionnaireId); long count(); - @Query(value = "{ 'idCampaign' : ?0 }", fields = "{ _id : 0, 'idQuestionnaire' : 1 }") - Set findIdQuestionnairesByIdCampaign(String idCampaign); + @Query(value = "{ 'campaignId' : ?0 }", fields = "{ _id : 0, 'questionnaireId' : 1 }") + Set findQuestionnaireIdsByCampaignId(String campaignId); - long countByIdCampaign(String idCampaign); + long countByCampaignId(String campaignId); - @Query(value = "{ 'idQuestionnaire' : ?0 }", fields = "{ _id : 0, 'idCampaign' : 1 }") - Set findIdCampaignsByIdQuestionnaire(String idQuestionnaire); + @Query(value = "{ 'questionnaireId' : ?0 }", fields = "{ _id : 0, 'campaignId' : 1 }") + Set findCampaignIdsByQuestionnaireId(String questionnaireId); } \ No newline at end of file diff --git a/src/test/java/fr/insee/genesis/TestConstants.java b/src/test/java/fr/insee/genesis/TestConstants.java index f0d78aee..88892875 100644 --- a/src/test/java/fr/insee/genesis/TestConstants.java +++ b/src/test/java/fr/insee/genesis/TestConstants.java @@ -7,4 +7,7 @@ public class TestConstants { public static final String TEST_RESOURCES_DIRECTORY = "src/test/resources"; public static final String UNIT_TESTS_DDI_DIRECTORY = TEST_RESOURCES_DIRECTORY + "/specs"; + + public static final String DEFAULT_INTERROGATION_ID = "TESTIDUE"; + public static final String DEFAULT_QUESTIONNAIRE_ID = "TESTIDQUESTIONNAIRE"; } diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/IdUEControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/InterrogationControllerTest.java similarity index 70% rename from src/test/java/fr/insee/genesis/controller/rest/responses/IdUEControllerTest.java rename to src/test/java/fr/insee/genesis/controller/rest/responses/InterrogationControllerTest.java index c750f9d1..315c21d0 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/IdUEControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/InterrogationControllerTest.java @@ -13,20 +13,20 @@ import java.io.IOException; import java.util.List; -class IdUEControllerTest { +import static fr.insee.genesis.TestConstants.DEFAULT_INTERROGATION_ID; +import static fr.insee.genesis.TestConstants.DEFAULT_QUESTIONNAIRE_ID; + +class InterrogationControllerTest { //Given - static IdUEController idUeControllerStatic; + static InterrogationController interrogationControllerStatic; static SurveyUnitPersistencePortStub surveyUnitPersistencePortStub; - //Constants - static final String defaultIdUE = "TESTIDUE"; - static final String defaultIdQuest = "TESTIDQUESTIONNAIRE"; @BeforeAll static void init() { surveyUnitPersistencePortStub = new SurveyUnitPersistencePortStub(); SurveyUnitApiPort surveyUnitApiPort = new SurveyUnitService(surveyUnitPersistencePortStub); - idUeControllerStatic = new IdUEController( surveyUnitApiPort ); + interrogationControllerStatic = new InterrogationController( surveyUnitApiPort ); } @@ -39,11 +39,11 @@ void reset() throws IOException { //When + Then @Test void getAllIdUEsByQuestionnaireTest() { - ResponseEntity> response = idUeControllerStatic.getAllIdUEsByQuestionnaire(defaultIdQuest); + ResponseEntity> response = interrogationControllerStatic.getAllInterrogationIdsByQuestionnaire(DEFAULT_QUESTIONNAIRE_ID); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); - Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(defaultIdUE); + Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_INTERROGATION_ID); } diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ModeControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ModeControllerTest.java index 06376ccd..914e91c7 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ModeControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ModeControllerTest.java @@ -13,15 +13,13 @@ import java.io.IOException; import java.util.List; +import static fr.insee.genesis.TestConstants.DEFAULT_QUESTIONNAIRE_ID; + class ModeControllerTest { //Given static ModeController modeControllerStatic; static SurveyUnitPersistencePortStub surveyUnitPersistencePortStub; - //Constants - static final String defaultIdUE = "TESTIDUE"; - static final String defaultIdQuest = "TESTIDQUESTIONNAIRE"; - @BeforeAll static void init() { surveyUnitPersistencePortStub = new SurveyUnitPersistencePortStub(); @@ -40,7 +38,7 @@ void reset() throws IOException { //When + Then @Test void getModesByQuestionnaireTest() { - ResponseEntity> response = modeControllerStatic.getModesByQuestionnaire(defaultIdQuest); + ResponseEntity> response = modeControllerStatic.getModesByQuestionnaire(DEFAULT_QUESTIONNAIRE_ID); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty().hasSize(1); diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/QuestionnaireControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/QuestionnaireControllerTest.java index 17caeb3b..fb89a31f 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/QuestionnaireControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/QuestionnaireControllerTest.java @@ -14,15 +14,13 @@ import java.util.List; import java.util.Set; +import static fr.insee.genesis.TestConstants.DEFAULT_QUESTIONNAIRE_ID; + class QuestionnaireControllerTest { //Given static QuestionnaireController questionnaireControllerStatic; static SurveyUnitPersistencePortStub surveyUnitPersistencePortStub; - //Constants - static final String defaultIdUE = "TESTIDUE"; - static final String defaultIdQuest = "TESTIDQUESTIONNAIRE"; - @BeforeAll static void init() { surveyUnitPersistencePortStub = new SurveyUnitPersistencePortStub(); @@ -48,7 +46,7 @@ void getQuestionnairesTest() { Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty().containsExactly( - defaultIdQuest,"TESTQUESTIONNAIRE2"); + DEFAULT_QUESTIONNAIRE_ID,"TESTQUESTIONNAIRE2"); } @Test @@ -59,7 +57,7 @@ void getQuestionnairesByCampaignTest() { Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty().containsExactly( - defaultIdQuest,"TESTQUESTIONNAIRE2"); + DEFAULT_QUESTIONNAIRE_ID,"TESTQUESTIONNAIRE2"); } @@ -75,12 +73,12 @@ void getQuestionnairesWithCampaignsTest() { Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); Assertions.assertThat(response.getBody().stream().filter(questionnaireWithCampaign -> - questionnaireWithCampaign.getIdQuestionnaire().equals(defaultIdQuest) + questionnaireWithCampaign.getIdQuestionnaire().equals(DEFAULT_QUESTIONNAIRE_ID) || questionnaireWithCampaign.getIdQuestionnaire().equals("TESTQUESTIONNAIRE2") )).isNotNull().isNotEmpty().hasSize(2); Assertions.assertThat(response.getBody().stream().filter( - questionnaireWithCampaign -> questionnaireWithCampaign.getIdQuestionnaire().equals(defaultIdQuest) + questionnaireWithCampaign -> questionnaireWithCampaign.getIdQuestionnaire().equals(DEFAULT_QUESTIONNAIRE_ID) ).findFirst().get().getCampaigns()).containsExactly("TESTIDCAMPAIGN"); Assertions.assertThat(response.getBody().stream().filter( diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java index 918e06a1..ff0c05ec 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java @@ -37,6 +37,9 @@ import java.util.ArrayList; import java.util.List; +import static fr.insee.genesis.TestConstants.DEFAULT_INTERROGATION_ID; +import static fr.insee.genesis.TestConstants.DEFAULT_QUESTIONNAIRE_ID; + class ResponseControllerTest { //Given static ResponseController responseControllerStatic; @@ -45,9 +48,6 @@ class ResponseControllerTest { static LunaticJsonPersistanceStub lunaticJsonPersistanceStub; static List surveyUnitIdList; - //Constants - static final String DEFAULT_ID_UE = "TESTIDUE"; - static final String DEFAULT_ID_QUEST = "TESTIDQUESTIONNAIRE"; @BeforeAll static void init() { @@ -71,7 +71,7 @@ static void init() { ); surveyUnitIdList = new ArrayList<>(); - surveyUnitIdList.add(new SurveyUnitId(DEFAULT_ID_UE)); + surveyUnitIdList.add(new SurveyUnitId(DEFAULT_INTERROGATION_ID)); } @BeforeEach @@ -198,21 +198,21 @@ void saveResponsesFromAllCampaignFoldersTests(){ //Gets @Test void findResponsesByUEAndQuestionnaireTest() { - ResponseEntity> response = responseControllerStatic.findResponsesByUEAndQuestionnaire(DEFAULT_ID_UE, DEFAULT_ID_QUEST); + ResponseEntity> response = responseControllerStatic.findResponsesByInterrogationAndQuestionnaire(DEFAULT_INTERROGATION_ID, DEFAULT_QUESTIONNAIRE_ID); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); - Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_ID_UE); - Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_ID_QUEST); + Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID); + Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID); } @Test void findAllResponsesByQuestionnaireTest() { - Path path = Path.of(TestConstants.TEST_RESOURCES_DIRECTORY, "OUT", DEFAULT_ID_QUEST); + Path path = Path.of(TestConstants.TEST_RESOURCES_DIRECTORY, "OUT", DEFAULT_QUESTIONNAIRE_ID); File dir = new File(String.valueOf(path)); FileSystemUtils.deleteRecursively(dir); - ResponseEntity response = responseControllerStatic.findAllResponsesByQuestionnaire(DEFAULT_ID_QUEST); + ResponseEntity response = responseControllerStatic.findAllResponsesByQuestionnaire(DEFAULT_QUESTIONNAIRE_ID); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull(); @@ -230,14 +230,14 @@ void getAllResponsesByQuestionnaireTestSequential() throws IOException { surveyUnitPersistencePortStub.getMongoStub().clear(); for (int i = 0; i < Constants.BATCH_SIZE + 2; i++) { - Utils.addAdditionalDtoToMongoStub("TESTIDCAMPAIGN", DEFAULT_ID_UE + i, + Utils.addAdditionalDtoToMongoStub("TESTIDCAMPAIGN", DEFAULT_INTERROGATION_ID + i, LocalDateTime.of(2023, 1, 1, 0, 0, 0), LocalDateTime.of(2024, 1, 1, 0, 0, 0), surveyUnitPersistencePortStub); } //When - ResponseEntity response = responseControllerStatic.findAllResponsesByQuestionnaire(DEFAULT_ID_QUEST); + ResponseEntity response = responseControllerStatic.findAllResponsesByQuestionnaire(DEFAULT_QUESTIONNAIRE_ID); //Then Assertions.assertThat(response).isNotNull(); @@ -254,32 +254,32 @@ void getAllResponsesByQuestionnaireTestSequential() throws IOException { void getLatestByUETest() { Utils.addAdditionalDtoToMongoStub(surveyUnitPersistencePortStub); - ResponseEntity> response = responseControllerStatic.getLatestByUE(DEFAULT_ID_UE, DEFAULT_ID_QUEST); + ResponseEntity> response = responseControllerStatic.getLatestByInterrogation(DEFAULT_INTERROGATION_ID, DEFAULT_QUESTIONNAIRE_ID); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); - Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_ID_UE); - Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_ID_QUEST); + Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID); + Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID); Assertions.assertThat(response.getBody().getFirst().getFileDate()).hasMonth(Month.FEBRUARY); } @Test void getLatestByUEOneObjectTest() { - ResponseEntity response = responseControllerStatic.getLatestByUEOneObject(DEFAULT_ID_UE, DEFAULT_ID_QUEST, Mode.WEB); + ResponseEntity response = responseControllerStatic.getLatestByInterrogationOneObject(DEFAULT_INTERROGATION_ID, DEFAULT_QUESTIONNAIRE_ID, Mode.WEB); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull(); - Assertions.assertThat(response.getBody().getIdUE()).isEqualTo(DEFAULT_ID_UE); - Assertions.assertThat(response.getBody().getIdQuest()).isEqualTo(DEFAULT_ID_QUEST); + Assertions.assertThat(response.getBody().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID); + Assertions.assertThat(response.getBody().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID); } @Test void getLatestForUEListTest() { - ResponseEntity> response = responseControllerStatic.getLatestForUEList(DEFAULT_ID_QUEST, surveyUnitIdList); + ResponseEntity> response = responseControllerStatic.getLatestForInterrogationList(DEFAULT_QUESTIONNAIRE_ID, surveyUnitIdList); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); - Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_ID_UE); + Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID); } // Perret tests @@ -316,9 +316,9 @@ void getLatestByStatesSurveyDataTest(){ //WHEN - ResponseEntity response = responseControllerStatic.findResponsesByUEAndQuestionnaireLatestStates( - DEFAULT_ID_UE, - DEFAULT_ID_QUEST + ResponseEntity response = responseControllerStatic.findResponsesByInterrogationAndQuestionnaireLatestStates( + DEFAULT_INTERROGATION_ID, + DEFAULT_QUESTIONNAIRE_ID ); @@ -326,7 +326,7 @@ void getLatestByStatesSurveyDataTest(){ SurveyUnitDto surveyUnitDto = response.getBody(); Assertions.assertThat(surveyUnitDto).isNotNull(); - Assertions.assertThat(surveyUnitDto.getSurveyUnitId()).isEqualTo(DEFAULT_ID_UE); + Assertions.assertThat(surveyUnitDto.getSurveyUnitId()).isEqualTo(DEFAULT_INTERROGATION_ID); Assertions.assertThat(surveyUnitDto.getCollectedVariables().getFirst().getVariableName()) .isEqualTo("TESTIDVAR"); diff --git a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java index a4639315..f9005f53 100644 --- a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java +++ b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java @@ -113,7 +113,7 @@ void saveAllTest(){ @Test void findByIdsUEAndQuestionnaireTest(){ - Assertions.assertThat(surveyUnitServiceStatic.findByIdsUEAndQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( + Assertions.assertThat(surveyUnitServiceStatic.findByIdsInterrogationAndQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(defaultIdUE) && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) @@ -122,15 +122,15 @@ void findByIdsUEAndQuestionnaireTest(){ @Test void findByIdUETest(){ - Assertions.assertThat(surveyUnitServiceStatic.findByIdUE(defaultIdUE)).filteredOn( + Assertions.assertThat(surveyUnitServiceStatic.findByInterrogationId(defaultIdUE)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(defaultIdUE) ).isNotEmpty(); } @Test - void findByIdQuestionnaireTest(){ - Assertions.assertThat(surveyUnitServiceStatic.findByIdQuestionnaire(defaultIdQuest)).filteredOn( + void findByQuestionnaireIdTest(){ + Assertions.assertThat(surveyUnitServiceStatic.findByQuestionnaireId(defaultIdQuest)).filteredOn( surveyUnitDto -> surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) ).isNotEmpty(); } @@ -139,7 +139,7 @@ void findByIdQuestionnaireTest(){ void findLatestByIdAndByModeTest(){ addAdditionnalDtoToMongoStub(); - Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByIdQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( + Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByQuestionnaireId(defaultIdUE, defaultIdQuest)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(defaultIdUE) && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) @@ -156,7 +156,7 @@ void findResponsesByUEAndQuestionnaireTest_null_collectedVariables() { ); surveyUnitPersistencePortStub.getMongoStub().getLast().setCollectedVariables(null); - Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByIdQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( + Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByQuestionnaireId(defaultIdUE, defaultIdQuest)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(defaultIdUE) && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) @@ -172,7 +172,7 @@ void findResponsesByUEAndQuestionnaireTest_null_externalVariables() { ); surveyUnitPersistencePortStub.getMongoStub().getLast().setExternalVariables(null); - Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByIdQuestionnaire(defaultIdUE, defaultIdQuest)).filteredOn( + Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByQuestionnaireId(defaultIdUE, defaultIdQuest)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(defaultIdUE) && surveyUnitDto.getQuestionnaireId().equals(defaultIdQuest) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) @@ -180,17 +180,17 @@ void findResponsesByUEAndQuestionnaireTest_null_externalVariables() { } @Test - void findDistinctIdUEsByIdQuestionnaireTest(){ + void findDistinctIdUEsByQuestionnaireIdTest(){ addAdditionnalDtoToMongoStub(); - Assertions.assertThat(surveyUnitServiceStatic.findDistinctIdUEsByIdQuestionnaire(defaultIdQuest)).filteredOn( + Assertions.assertThat(surveyUnitServiceStatic.findDistinctInterrogationIdsByQuestionnaireId(defaultIdQuest)).filteredOn( surveyUnitId -> surveyUnitId.getIdUE().equals(defaultIdUE) ).isNotEmpty().hasSize(1); } @Test - void findIdUEsByIdQuestionnaireTest(){ - Assertions.assertThat(surveyUnitServiceStatic.findModesByIdQuestionnaire(defaultIdQuest)).filteredOn( + void findIdUEsByQuestionnaireIdTest(){ + Assertions.assertThat(surveyUnitServiceStatic.findModesByQuestionnaireId(defaultIdQuest)).filteredOn( mode -> mode.equals(Mode.WEB) ).isNotEmpty(); } @@ -199,17 +199,17 @@ void findIdUEsByIdQuestionnaireTest(){ void getQuestionnairesByCampaignTest() { addAdditionnalDtoToMongoStub("TESTQUESTIONNAIRE2"); - Assertions.assertThat(surveyUnitServiceStatic.findIdQuestionnairesByIdCampaign("TESTIDCAMPAIGN")).isNotEmpty().hasSize(2); + Assertions.assertThat(surveyUnitServiceStatic.findQuestionnaireIdsByCampaignId("TESTIDCAMPAIGN")).isNotEmpty().hasSize(2); } @Test void getAllCampaignsTest() { - Assertions.assertThat(surveyUnitServiceStatic.findDistinctIdCampaigns()).contains("TESTIDCAMPAIGN"); + Assertions.assertThat(surveyUnitServiceStatic.findDistinctCampaignIds()).contains("TESTIDCAMPAIGN"); } @Test - void findLatestByIdAndByIdQuestionnairePerretTest(){ + void findLatestByIdAndByQuestionnaireIdPerretTest(){ //Given //Recent Collected already in stub //Old Collected @@ -238,7 +238,7 @@ void findLatestByIdAndByIdQuestionnairePerretTest(){ //When - SurveyUnitDto surveyUnitDto = surveyUnitServiceStatic.findLatestValuesByStateByIdAndByIdQuestionnaire( + SurveyUnitDto surveyUnitDto = surveyUnitServiceStatic.findLatestValuesByStateByIdAndByQuestionnaireId( defaultIdUE, defaultIdQuest ); @@ -295,7 +295,7 @@ void findLatestByIdAndByIdQuestionnairePerretTest(){ } @Test - void findLatestByIdAndByIdQuestionnairePerretTest_null_collectedVariables(){ + void findLatestByIdAndByQuestionnaireIdPerretTest_null_collectedVariables(){ //Given addAdditionnalDtoToMongoStub(DataState.EDITED, "C NEW E", @@ -307,7 +307,7 @@ void findLatestByIdAndByIdQuestionnairePerretTest_null_collectedVariables(){ //When - SurveyUnitDto surveyUnitDto = surveyUnitServiceStatic.findLatestValuesByStateByIdAndByIdQuestionnaire( + SurveyUnitDto surveyUnitDto = surveyUnitServiceStatic.findLatestValuesByStateByIdAndByQuestionnaireId( defaultIdUE, defaultIdQuest ); @@ -354,7 +354,7 @@ void findLatestByIdAndByIdQuestionnairePerretTest_null_collectedVariables(){ } @Test - void findLatestByIdAndByIdQuestionnairePerretTest_null_externalVariables(){ + void findLatestByIdAndByQuestionnaireIdPerretTest_null_externalVariables(){ //Given addAdditionnalDtoToMongoStub(DataState.EDITED, "C NEW E", @@ -366,7 +366,7 @@ void findLatestByIdAndByIdQuestionnairePerretTest_null_externalVariables(){ //When - SurveyUnitDto surveyUnitDto = surveyUnitServiceStatic.findLatestValuesByStateByIdAndByIdQuestionnaire( + SurveyUnitDto surveyUnitDto = surveyUnitServiceStatic.findLatestValuesByStateByIdAndByQuestionnaireId( defaultIdUE, defaultIdQuest ); diff --git a/src/test/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitModelMongoAdapterTest.java b/src/test/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitModelMongoAdapterTest.java index 9cee571f..d151d803 100644 --- a/src/test/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitModelMongoAdapterTest.java +++ b/src/test/java/fr/insee/genesis/infrastructure/adapter/SurveyUnitModelMongoAdapterTest.java @@ -75,7 +75,7 @@ void shouldReturnListOfSurveyUnitDto_IfIdsFoundInDataBase() { List responses = new ArrayList<>(); responses.add(suDoc); responses.add(suDoc2); - when(mongoRepository.findByIdUEAndIdQuestionnaire(any(String.class), any(String.class))).thenReturn(responses); + when(mongoRepository.findByInterrogationIdAndQuestionnaireId(any(String.class), any(String.class))).thenReturn(responses); // When List updates = surveyUnitMongoAdapter.findByIds("UE1100000001", "TEST2023X01"); // Then @@ -86,7 +86,7 @@ void shouldReturnListOfSurveyUnitDto_IfIdsFoundInDataBase() { @Test void shouldReturnEmptyList_IfIdsNotFoundInDataBase() { //Given - when(mongoRepository.findByIdUEAndIdQuestionnaire(any(String.class), any(String.class))).thenReturn(List.of()); + when(mongoRepository.findByInterrogationIdAndQuestionnaireId(any(String.class), any(String.class))).thenReturn(List.of()); // When List updates = surveyUnitMongoAdapter.findByIds("UE1100000001", "TEST2023X01"); // Then @@ -94,83 +94,83 @@ void shouldReturnEmptyList_IfIdsNotFoundInDataBase() { } @Test - void shouldReturnListOfSurveyUnitDto_IfIdUEFoundInDataBase() { + void shouldReturnListOfSurveyUnitDto_IfInterrogationIdFoundInDataBase() { //Given List responses = new ArrayList<>(); responses.add(suDoc); responses.add(suDoc2); - when(mongoRepository.findByIdUE(any(String.class))).thenReturn(responses); + when(mongoRepository.findByInterrogationId(any(String.class))).thenReturn(responses); // When - List updates = surveyUnitMongoAdapter.findByIdUE("UE1100000001"); + List updates = surveyUnitMongoAdapter.findByInterrogationId("UE1100000001"); // Then Assertions.assertThat(updates).isNotNull().hasSize(2); Assertions.assertThat(updates.getFirst().getMode()).isEqualTo(Mode.WEB); } @Test - void shouldReturnEmptyList_IfIdUENotFoundInDataBase() { + void shouldReturnEmptyList_IfInterrogationIdNotFoundInDataBase() { //Given - when(mongoRepository.findByIdUE(any(String.class))).thenReturn(List.of()); + when(mongoRepository.findByInterrogationId(any(String.class))).thenReturn(List.of()); // When - List updates = surveyUnitMongoAdapter.findByIdUE("UE1100000001"); + List updates = surveyUnitMongoAdapter.findByInterrogationId("UE1100000001"); // Then Assertions.assertThat(updates).isEmpty(); } @Test - void shouldReturnListOfSurveyUnitDto_IfIdQuestionnaireFoundInDataBase() { + void shouldReturnListOfSurveyUnitDto_IfQuestionnaireIdFoundInDataBase() { //Given List responses = new ArrayList<>(); responses.add(suDoc); responses.add(suDoc2); responses.add(suDoc3); - when(mongoRepository.findByIdQuestionnaire(any(String.class))).thenReturn(responses.stream()); + when(mongoRepository.findByQuestionnaireId(any(String.class))).thenReturn(responses.stream()); // When - Stream updates = surveyUnitMongoAdapter.findByIdQuestionnaire("TEST2023X01"); + Stream updates = surveyUnitMongoAdapter.findByQuestionnaireId("TEST2023X01"); // Then Assertions.assertThat(updates).isNotNull().hasSize(3); //Assertions.assertThat(updates.get(2).getMode()).isEqualTo(Mode.WEB); } @Test - void shouldReturnEmptyList_IfIdQuestionnaireNotFoundInDataBase() { + void shouldReturnEmptyList_IfQuestionnaireIdNotFoundInDataBase() { //Given - when(mongoRepository.findByIdQuestionnaire(any(String.class))).thenReturn(Stream.empty()); + when(mongoRepository.findByQuestionnaireId(any(String.class))).thenReturn(Stream.empty()); // When - List updates = surveyUnitMongoAdapter.findByIdQuestionnaire("TEST2023X01").toList(); + List updates = surveyUnitMongoAdapter.findByQuestionnaireId("TEST2023X01").toList(); // Then Assertions.assertThat(updates).isEmpty(); } @Test - void shouldReturnListOfSurveyUnitDto_WhenGivenAListOfIdUEs() { + void shouldReturnListOfSurveyUnitDto_WhenGivenAListOfInterrogationIds() { //Given List responses1 = new ArrayList<>(); responses1.add(suDoc); responses1.add(suDoc2); List responses2 = new ArrayList<>(); responses2.add(suDoc3); - when(mongoRepository.findByIdUEAndIdQuestionnaire("UE1100000001", "TEST2023X01")).thenReturn(responses1); - when(mongoRepository.findByIdUEAndIdQuestionnaire("UE1100000002", "TEST2023X01")).thenReturn(responses2); + when(mongoRepository.findByInterrogationIdAndQuestionnaireId("UE1100000001", "TEST2023X01")).thenReturn(responses1); + when(mongoRepository.findByInterrogationIdAndQuestionnaireId("UE1100000002", "TEST2023X01")).thenReturn(responses2); SurveyUnitModel id1 = SurveyUnitModel.builder().interrogationId("UE1100000001").build(); SurveyUnitModel id2 = SurveyUnitModel.builder().interrogationId("UE1100000002").build(); List ids = List.of(id1, id2); // When - List updates = surveyUnitMongoAdapter.findByIdUEsAndIdQuestionnaire(ids, "TEST2023X01"); + List updates = surveyUnitMongoAdapter.findByInterrogationIdsAndQuestionnaireId(ids, "TEST2023X01"); // Then Assertions.assertThat(updates).isNotNull().hasSize(3); Assertions.assertThat(updates.getFirst().getMode()).isEqualTo(Mode.WEB); } @Test - void shouldReturnEmptyList_IfIdUEsNotFoundInDataBase() { + void shouldReturnEmptyList_IfInterrogationIdsNotFoundInDataBase() { //Given - when(mongoRepository.findByIdUEAndIdQuestionnaire(any(String.class),any(String.class))).thenReturn(List.of()); + when(mongoRepository.findByInterrogationIdAndQuestionnaireId(any(String.class),any(String.class))).thenReturn(List.of()); SurveyUnitModel id1 = SurveyUnitModel.builder().interrogationId("UE1100000001").build(); SurveyUnitModel id2 = SurveyUnitModel.builder().interrogationId("UE1100000002").build(); List ids = List.of(id1, id2); // When - List updates = surveyUnitMongoAdapter.findByIdUEsAndIdQuestionnaire(ids, "TEST2023X01"); + List updates = surveyUnitMongoAdapter.findByInterrogationIdsAndQuestionnaireId(ids, "TEST2023X01"); // Then Assertions.assertThat(updates).isEmpty(); } diff --git a/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java b/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java index 667847eb..67a9e042 100644 --- a/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java +++ b/src/test/java/fr/insee/genesis/stubs/SurveyUnitPersistencePortStub.java @@ -20,10 +20,10 @@ public void saveAll(List suList) { } @Override - public List findByIds(String idUE, String idQuest) { + public List findByIds(String interrogationId, String questionnaireId) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getInterrogationId().equals(idUE) && SurveyUnitModel.getQuestionnaireId().equals(idQuest)) + if(SurveyUnitModel.getInterrogationId().equals(interrogationId) && SurveyUnitModel.getQuestionnaireId().equals(questionnaireId)) surveyUnitModelList.add(SurveyUnitModel); } @@ -31,10 +31,10 @@ public List findByIds(String idUE, String idQuest) { } @Override - public List findByIdUE(String idUE) { + public List findByInterrogationId(String interrogationId) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getInterrogationId().equals(idUE)) + if(SurveyUnitModel.getInterrogationId().equals(interrogationId)) surveyUnitModelList.add(SurveyUnitModel); } @@ -42,11 +42,11 @@ public List findByIdUE(String idUE) { } @Override - public List findByIdUEsAndIdQuestionnaire(List idUEs, String idQuestionnaire) { + public List findByInterrogationIdsAndQuestionnaireId(List interrogationIds, String questionnaireId) { List surveyUnitModelList = new ArrayList<>(); - for(SurveyUnitModel surveyUnitModel : idUEs) { + for(SurveyUnitModel surveyUnitModel : interrogationIds) { for (SurveyUnitModel document : mongoStub) { - if (surveyUnitModel.getInterrogationId().equals(document.getInterrogationId()) && document.getQuestionnaireId().equals(idQuestionnaire)) + if (surveyUnitModel.getInterrogationId().equals(document.getInterrogationId()) && document.getQuestionnaireId().equals(questionnaireId)) surveyUnitModelList.add(document); } } @@ -55,10 +55,10 @@ public List findByIdUEsAndIdQuestionnaire(List } @Override - public Stream findByIdQuestionnaire(String idQuestionnaire) { + public Stream findByQuestionnaireId(String questionnaireId) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getQuestionnaireId().equals(idQuestionnaire)) + if(SurveyUnitModel.getQuestionnaireId().equals(questionnaireId)) surveyUnitModelList.add(SurveyUnitModel); } @@ -66,10 +66,10 @@ public Stream findByIdQuestionnaire(String idQuestionnaire) { } @Override - public List findIdUEsByIdQuestionnaire(String idQuestionnaire) { + public List findInterrogationIdsByQuestionnaireId(String questionnaireId) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getQuestionnaireId().equals(idQuestionnaire)) + if(SurveyUnitModel.getQuestionnaireId().equals(questionnaireId)) surveyUnitModelList.add( new SurveyUnitModel(SurveyUnitModel.getInterrogationId(), SurveyUnitModel.getMode()) ); @@ -79,10 +79,10 @@ public List findIdUEsByIdQuestionnaire(String idQuestionnaire) } @Override - public List findIdUEsByIdCampaign(String idCampaign) { + public List findInterrogationIdsByCampaignId(String campaignId) { List surveyUnitModelList = new ArrayList<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getCampaignId().equals(idCampaign)) + if(SurveyUnitModel.getCampaignId().equals(campaignId)) surveyUnitModelList.add( new SurveyUnitModel(SurveyUnitModel.getInterrogationId(), SurveyUnitModel.getMode()) ); @@ -92,7 +92,7 @@ public List findIdUEsByIdCampaign(String idCampaign) { } @Override - public Long deleteByIdQuestionnaire(String idQuestionnaire) { + public Long deleteByQuestionnaireId(String questionnaireId) { return null; } @@ -102,18 +102,18 @@ public long count() { } @Override - public Set findIdQuestionnairesByIdCampaign(String idCampaign) { - Set idQuestionnaireSet = new HashSet<>(); + public Set findQuestionnaireIdsByCampaignId(String campaignId) { + Set questionnaireIdSet = new HashSet<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getCampaignId().equals(idCampaign)) - idQuestionnaireSet.add(SurveyUnitModel.getQuestionnaireId()); + if(SurveyUnitModel.getCampaignId().equals(campaignId)) + questionnaireIdSet.add(SurveyUnitModel.getQuestionnaireId()); } - return idQuestionnaireSet; + return questionnaireIdSet; } @Override - public Set findDistinctIdCampaigns() { + public Set findDistinctCampaignIds() { Set campaignIds = new HashSet<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ campaignIds.add(SurveyUnitModel.getCampaignId()); @@ -123,13 +123,13 @@ public Set findDistinctIdCampaigns() { } @Override - public long countByIdCampaign(String idCampaign) { + public long countByCampaignId(String campaignId) { return mongoStub.stream().filter( - SurveyUnitDto -> SurveyUnitDto.getCampaignId().equals(idCampaign)).toList().size(); + SurveyUnitDto -> SurveyUnitDto.getCampaignId().equals(campaignId)).toList().size(); } @Override - public Set findDistinctIdQuestionnaires() { + public Set findDistinctQuestionnaireIds() { Set questionnaireIds = new HashSet<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ questionnaireIds.add(SurveyUnitModel.getQuestionnaireId()); @@ -138,13 +138,13 @@ public Set findDistinctIdQuestionnaires() { } @Override - public Set findIdCampaignsByIdQuestionnaire(String idQuestionnaire) { - Set idCampaignSet = new HashSet<>(); + public Set findCampaignIdsByQuestionnaireId(String questionnaireId) { + Set campaignIdSet = new HashSet<>(); for(SurveyUnitModel SurveyUnitModel : mongoStub){ - if(SurveyUnitModel.getQuestionnaireId().equals(idQuestionnaire)) - idCampaignSet.add(SurveyUnitModel.getCampaignId()); + if(SurveyUnitModel.getQuestionnaireId().equals(questionnaireId)) + campaignIdSet.add(SurveyUnitModel.getCampaignId()); } - return idCampaignSet; + return campaignIdSet; } } From d1a5284714e93df6917fcf391c2b7232cadc4d96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Henninger?= Date: Wed, 15 Jan 2025 14:53:11 +0100 Subject: [PATCH 04/12] Remaining IdLoop --- .../fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java index 615a25d2..c004dc98 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/IdLoopTuple.java @@ -1,4 +1,4 @@ package fr.insee.genesis.domain.model.surveyunit; -public record IdLoopTuple(String varId, String idLoop) { +public record IdLoopTuple(String varId, String loopId) { } From 2ff95aaa567951b9d0af1294bd54edae6913d30e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Henninger?= Date: Mon, 20 Jan 2025 18:19:32 +0100 Subject: [PATCH 05/12] Remaining IdUE --- .../dto/{SurveyUnitId.java => InterrogationId.java} | 12 +++++------- .../rest/responses/InterrogationController.java | 6 +++--- .../rest/responses/ResponseController.java | 6 +++--- .../genesis/domain/ports/api/SurveyUnitApiPort.java | 4 ++-- .../domain/service/surveyunit/SurveyUnitService.java | 6 +++--- .../genesis/controller/rest/UtilsControllerTest.java | 8 ++++---- .../rest/responses/InterrogationControllerTest.java | 6 +++--- .../rest/responses/ResponseControllerTest.java | 10 +++++----- .../domain/service/SurveyUnitServiceTest.java | 2 +- 9 files changed, 29 insertions(+), 31 deletions(-) rename src/main/java/fr/insee/genesis/controller/dto/{SurveyUnitId.java => InterrogationId.java} (63%) diff --git a/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitId.java b/src/main/java/fr/insee/genesis/controller/dto/InterrogationId.java similarity index 63% rename from src/main/java/fr/insee/genesis/controller/dto/SurveyUnitId.java rename to src/main/java/fr/insee/genesis/controller/dto/InterrogationId.java index 18b87005..34d80954 100644 --- a/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitId.java +++ b/src/main/java/fr/insee/genesis/controller/dto/InterrogationId.java @@ -1,6 +1,5 @@ package fr.insee.genesis.controller.dto; -import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -12,21 +11,20 @@ @Getter @NoArgsConstructor @AllArgsConstructor -public class SurveyUnitId { +public class InterrogationId { - @JsonProperty("idUE") - private String idUE; + private String interrogationId; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - SurveyUnitId that = (SurveyUnitId) o; - return Objects.equals(idUE, that.idUE); + InterrogationId that = (InterrogationId) o; + return Objects.equals(interrogationId, that.interrogationId); } @Override public int hashCode() { - return Objects.hash(idUE); + return Objects.hash(interrogationId); } } diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/InterrogationController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/InterrogationController.java index 4bfc4960..427d966a 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/InterrogationController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/InterrogationController.java @@ -1,6 +1,6 @@ package fr.insee.genesis.controller.rest.responses; -import fr.insee.genesis.controller.dto.SurveyUnitId; +import fr.insee.genesis.controller.dto.InterrogationId; import fr.insee.genesis.domain.ports.api.SurveyUnitApiPort; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; @@ -27,8 +27,8 @@ public InterrogationController(SurveyUnitApiPort surveyUnitService) { @Operation(summary = "Retrieve all interrogations for a given questionnaire") @GetMapping(path = "/by-questionnaire") - public ResponseEntity> getAllInterrogationIdsByQuestionnaire(@RequestParam("questionnaireId") String questionnaireId) { - List responses = surveyUnitService.findDistinctInterrogationIdsByQuestionnaireId(questionnaireId); + public ResponseEntity> getAllInterrogationIdsByQuestionnaire(@RequestParam("questionnaireId") String questionnaireId) { + List responses = surveyUnitService.findDistinctInterrogationIdsByQuestionnaireId(questionnaireId); return ResponseEntity.ok(responses); } diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java index 7a95bef7..65b9ca18 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java @@ -8,7 +8,7 @@ import fr.insee.genesis.Constants; import fr.insee.genesis.controller.adapter.LunaticXmlAdapter; import fr.insee.genesis.controller.dto.SurveyUnitDto; -import fr.insee.genesis.controller.dto.SurveyUnitId; +import fr.insee.genesis.controller.dto.InterrogationId; import fr.insee.genesis.controller.dto.SurveyUnitSimplified; import fr.insee.genesis.controller.sources.xml.LunaticXmlCampaign; import fr.insee.genesis.controller.sources.xml.LunaticXmlDataParser; @@ -333,11 +333,11 @@ public ResponseEntity getLatestByInterrogationOneObject(@R "For a given id, the endpoint returns a document by collection mode (if there is more than one).") @PostMapping(path = "/simplified/by-list-interrogation-and-questionnaire/latest") public ResponseEntity> getLatestForInterrogationList(@RequestParam("questionnaireId") String questionnaireId, - @RequestBody List interrogationIds) { + @RequestBody List interrogationIds) { List results = new ArrayList<>(); List modes = surveyUnitService.findModesByQuestionnaireId(questionnaireId); interrogationIds.forEach(interrogationId -> { - List responses = surveyUnitService.findLatestByIdAndByQuestionnaireId(interrogationId.getIdUE(), questionnaireId); + List responses = surveyUnitService.findLatestByIdAndByQuestionnaireId(interrogationId.getInterrogationId(), questionnaireId); modes.forEach(mode -> { List outputVariables = new ArrayList<>(); List outputExternalVariables = new ArrayList<>(); diff --git a/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java b/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java index e2f1d701..e63be7eb 100644 --- a/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java +++ b/src/main/java/fr/insee/genesis/domain/ports/api/SurveyUnitApiPort.java @@ -5,7 +5,7 @@ import fr.insee.genesis.domain.model.surveyunit.Mode; import fr.insee.genesis.controller.dto.QuestionnaireWithCampaign; import fr.insee.genesis.domain.model.surveyunit.SurveyUnitModel; -import fr.insee.genesis.controller.dto.SurveyUnitId; +import fr.insee.genesis.controller.dto.InterrogationId; import java.util.List; import java.util.Set; @@ -27,7 +27,7 @@ public interface SurveyUnitApiPort { List findInterrogationIdsAndModesByQuestionnaireId(String questionnaireId); - List findDistinctInterrogationIdsByQuestionnaireId(String questionnaireId); + List findDistinctInterrogationIdsByQuestionnaireId(String questionnaireId); List findModesByQuestionnaireId(String questionnaireId); diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index ff6d8dc3..e35b6508 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -133,10 +133,10 @@ public SurveyUnitDto findLatestValuesByStateByIdAndByQuestionnaireId(String inte } @Override - public List findDistinctInterrogationIdsByQuestionnaireId(String questionnaireId) { + public List findDistinctInterrogationIdsByQuestionnaireId(String questionnaireId) { List surveyUnitModels = surveyUnitPersistencePort.findInterrogationIdsByQuestionnaireId(questionnaireId); - List suIds = new ArrayList<>(); - surveyUnitModels.forEach(surveyUnitDto -> suIds.add(new SurveyUnitId(surveyUnitDto.getInterrogationId()))); + List suIds = new ArrayList<>(); + surveyUnitModels.forEach(surveyUnitDto -> suIds.add(new InterrogationId(surveyUnitDto.getInterrogationId()))); return suIds.stream().distinct().toList(); } diff --git a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java index f6d6b74d..c412d319 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java @@ -2,7 +2,7 @@ import cucumber.TestConstants; import fr.insee.genesis.Constants; -import fr.insee.genesis.controller.dto.SurveyUnitId; +import fr.insee.genesis.controller.dto.InterrogationId; import fr.insee.genesis.domain.model.surveyunit.CollectedVariable; import fr.insee.genesis.domain.model.surveyunit.DataState; import fr.insee.genesis.domain.model.surveyunit.Mode; @@ -36,7 +36,7 @@ class UtilsControllerTest { static UtilsController utilsControllerStatic; static SurveyUnitPersistencePortStub surveyUnitPersistencePortStub; - static List surveyUnitIdList; + static List interrogationIdList; //Constants static final String defaultIdUE = "TESTIDUE"; static final String defaultIdQuest = "TESTIDQUESTIONNAIRE"; @@ -51,8 +51,8 @@ static void init() { , new VolumetryLogService(new ConfigStub()) ); - surveyUnitIdList = new ArrayList<>(); - surveyUnitIdList.add(new SurveyUnitId(defaultIdUE)); + interrogationIdList = new ArrayList<>(); + interrogationIdList.add(new InterrogationId(defaultIdUE)); } @BeforeEach diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/InterrogationControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/InterrogationControllerTest.java index 315c21d0..d731e939 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/InterrogationControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/InterrogationControllerTest.java @@ -1,6 +1,6 @@ package fr.insee.genesis.controller.rest.responses; -import fr.insee.genesis.controller.dto.SurveyUnitId; +import fr.insee.genesis.controller.dto.InterrogationId; import fr.insee.genesis.domain.ports.api.SurveyUnitApiPort; import fr.insee.genesis.domain.service.surveyunit.SurveyUnitService; import fr.insee.genesis.stubs.SurveyUnitPersistencePortStub; @@ -39,11 +39,11 @@ void reset() throws IOException { //When + Then @Test void getAllIdUEsByQuestionnaireTest() { - ResponseEntity> response = interrogationControllerStatic.getAllInterrogationIdsByQuestionnaire(DEFAULT_QUESTIONNAIRE_ID); + ResponseEntity> response = interrogationControllerStatic.getAllInterrogationIdsByQuestionnaire(DEFAULT_QUESTIONNAIRE_ID); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); - Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_INTERROGATION_ID); + Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID); } diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java index ff0c05ec..e9fb7672 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java @@ -3,7 +3,7 @@ import cucumber.TestConstants; import fr.insee.genesis.Constants; import fr.insee.genesis.controller.dto.SurveyUnitDto; -import fr.insee.genesis.controller.dto.SurveyUnitId; +import fr.insee.genesis.controller.dto.InterrogationId; import fr.insee.genesis.controller.dto.SurveyUnitSimplified; import fr.insee.genesis.controller.utils.ControllerUtils; import fr.insee.genesis.domain.model.surveyunit.DataState; @@ -47,7 +47,7 @@ class ResponseControllerTest { static LunaticXmlPersistanceStub lunaticXmlPersistanceStub; static LunaticJsonPersistanceStub lunaticJsonPersistanceStub; - static List surveyUnitIdList; + static List interrogationIdList; @BeforeAll static void init() { @@ -70,8 +70,8 @@ static void init() { , new ControllerUtils(fileUtils) ); - surveyUnitIdList = new ArrayList<>(); - surveyUnitIdList.add(new SurveyUnitId(DEFAULT_INTERROGATION_ID)); + interrogationIdList = new ArrayList<>(); + interrogationIdList.add(new InterrogationId(DEFAULT_INTERROGATION_ID)); } @BeforeEach @@ -275,7 +275,7 @@ void getLatestByUEOneObjectTest() { @Test void getLatestForUEListTest() { - ResponseEntity> response = responseControllerStatic.getLatestForInterrogationList(DEFAULT_QUESTIONNAIRE_ID, surveyUnitIdList); + ResponseEntity> response = responseControllerStatic.getLatestForInterrogationList(DEFAULT_QUESTIONNAIRE_ID, interrogationIdList); Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue(); Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty(); diff --git a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java index f9005f53..dcb6bb8f 100644 --- a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java +++ b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java @@ -184,7 +184,7 @@ void findDistinctIdUEsByQuestionnaireIdTest(){ addAdditionnalDtoToMongoStub(); Assertions.assertThat(surveyUnitServiceStatic.findDistinctInterrogationIdsByQuestionnaireId(defaultIdQuest)).filteredOn( - surveyUnitId -> surveyUnitId.getIdUE().equals(defaultIdUE) + surveyUnitId -> surveyUnitId.getInterrogationId().equals(defaultIdUE) ).isNotEmpty().hasSize(1); } From b54e97d1df272b7acc77eacef7d64a9639392ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Henninger?= Date: Mon, 20 Jan 2025 18:21:25 +0100 Subject: [PATCH 06/12] Removing idLoop from endpoints used by data quality application --- .../dto/SurveyUnitQualityToolDto.java | 14 +++++ .../dto/VariableQualityToolDto.java | 17 ++++++ .../rest/responses/ResponseController.java | 7 ++- .../controller/utils/DataTransformer.java | 53 +++++++++++++++++++ .../controller/utils/LoopIdParser.java | 21 ++++++++ .../responses/ResponseControllerTest.java | 5 +- .../controller/utils/LoopIdParserTest.java | 24 +++++++++ 7 files changed, 137 insertions(+), 4 deletions(-) create mode 100644 src/main/java/fr/insee/genesis/controller/dto/SurveyUnitQualityToolDto.java create mode 100644 src/main/java/fr/insee/genesis/controller/dto/VariableQualityToolDto.java create mode 100644 src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java create mode 100644 src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java create mode 100644 src/test/java/fr/insee/genesis/controller/utils/LoopIdParserTest.java diff --git a/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitQualityToolDto.java b/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitQualityToolDto.java new file mode 100644 index 00000000..03a2e0e8 --- /dev/null +++ b/src/main/java/fr/insee/genesis/controller/dto/SurveyUnitQualityToolDto.java @@ -0,0 +1,14 @@ +package fr.insee.genesis.controller.dto; + +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +public class SurveyUnitQualityToolDto { + private String surveyUnitId; + private List collectedVariables; + private List externalVariables; +} diff --git a/src/main/java/fr/insee/genesis/controller/dto/VariableQualityToolDto.java b/src/main/java/fr/insee/genesis/controller/dto/VariableQualityToolDto.java new file mode 100644 index 00000000..fab52ead --- /dev/null +++ b/src/main/java/fr/insee/genesis/controller/dto/VariableQualityToolDto.java @@ -0,0 +1,17 @@ +package fr.insee.genesis.controller.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Builder; +import lombok.Data; + +import java.util.List; + +@Builder +@Data +public class VariableQualityToolDto { + private String variableName; + private Integer iteration; + + @JsonProperty("variableStates") + private List variableStateDtoList; +} diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java index 65b9ca18..1c55f0d4 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java @@ -9,12 +9,14 @@ import fr.insee.genesis.controller.adapter.LunaticXmlAdapter; import fr.insee.genesis.controller.dto.SurveyUnitDto; import fr.insee.genesis.controller.dto.InterrogationId; +import fr.insee.genesis.controller.dto.SurveyUnitQualityToolDto; import fr.insee.genesis.controller.dto.SurveyUnitSimplified; import fr.insee.genesis.controller.sources.xml.LunaticXmlCampaign; import fr.insee.genesis.controller.sources.xml.LunaticXmlDataParser; import fr.insee.genesis.controller.sources.xml.LunaticXmlDataSequentialParser; import fr.insee.genesis.controller.sources.xml.LunaticXmlSurveyUnit; import fr.insee.genesis.controller.utils.ControllerUtils; +import fr.insee.genesis.controller.utils.DataTransformer; import fr.insee.genesis.domain.model.surveyunit.CollectedVariable; import fr.insee.genesis.domain.model.surveyunit.Mode; import fr.insee.genesis.domain.model.surveyunit.SurveyUnitModel; @@ -269,11 +271,12 @@ public ResponseEntity> findResponsesByInterrogationAndQues @Operation(summary = "Retrieve responses for an interrogation, using interrogationId and questionnaireId from Genesis Database with the latest value for each available state of every variable") @GetMapping(path = "/by-ue-and-questionnaire/latest-states") - public ResponseEntity findResponsesByInterrogationAndQuestionnaireLatestStates( + public ResponseEntity findResponsesByInterrogationAndQuestionnaireLatestStates( @RequestParam("interrogationId") String interrogationId, @RequestParam("questionnaireId") String questionnaireId) { SurveyUnitDto response = surveyUnitService.findLatestValuesByStateByIdAndByQuestionnaireId(interrogationId, questionnaireId); - return ResponseEntity.ok(response); + SurveyUnitQualityToolDto responseQualityTool = DataTransformer.transformSurveyUnitDto(response); + return ResponseEntity.ok(responseQualityTool); } @Operation(summary = "Retrieve all responses (for all interrogations) of one questionnaire") diff --git a/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java b/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java new file mode 100644 index 00000000..5719f44e --- /dev/null +++ b/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java @@ -0,0 +1,53 @@ +package fr.insee.genesis.controller.utils; + +import fr.insee.genesis.controller.dto.SurveyUnitDto; +import fr.insee.genesis.controller.dto.SurveyUnitQualityToolDto; +import fr.insee.genesis.controller.dto.VariableQualityToolDto; +import fr.insee.genesis.controller.dto.VariableDto; + +import java.util.ArrayList; +import java.util.List; + +public class DataTransformer { + + public static SurveyUnitQualityToolDto transformSurveyUnitDto(SurveyUnitDto dto){ + + List transformedCollectedVariables = new ArrayList<>(); + if (dto.getCollectedVariables() != null) { + transformedCollectedVariables = dto.getCollectedVariables() + .stream() + .map(DataTransformer::transformVariable) + .toList(); + } + + List transformedExternalVariables = new ArrayList<>(); + if (dto.getExternalVariables() != null) { + transformedExternalVariables = dto.getExternalVariables() + .stream() + .map(DataTransformer::transformVariable) + .toList(); + } + + return SurveyUnitQualityToolDto.builder() + .surveyUnitId(dto.getSurveyUnitId()) + .collectedVariables(transformedCollectedVariables) + .externalVariables(transformedExternalVariables) + .build(); + } + + private static VariableQualityToolDto transformVariable(VariableDto variable) { + Integer iteration = null; + + if (variable.getIdLoop() != null) { + iteration = LoopIdParser.extractIndex(variable.getIdLoop()); + } + + return VariableQualityToolDto.builder() + .variableName(variable.getVariableName()) + .iteration(iteration) + .variableStateDtoList(variable.getVariableStateDtoList()) + .build(); + + } + +} diff --git a/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java b/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java new file mode 100644 index 00000000..0e33a6a7 --- /dev/null +++ b/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java @@ -0,0 +1,21 @@ +package fr.insee.genesis.controller.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class LoopIdParser { + + private static final Pattern LOOP_PATTERN = Pattern.compile(".*_(\\d+)$"); + + public static Integer extractIndex(String idLoop) { + if (idLoop == null) { + return null; + } + + Matcher matcher = LOOP_PATTERN.matcher(idLoop); + if (matcher.matches()) { + return Integer.parseInt(matcher.group(1)); + } + return null; + } +} diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java index e9fb7672..b6fc394d 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java @@ -4,6 +4,7 @@ import fr.insee.genesis.Constants; import fr.insee.genesis.controller.dto.SurveyUnitDto; import fr.insee.genesis.controller.dto.InterrogationId; +import fr.insee.genesis.controller.dto.SurveyUnitQualityToolDto; import fr.insee.genesis.controller.dto.SurveyUnitSimplified; import fr.insee.genesis.controller.utils.ControllerUtils; import fr.insee.genesis.domain.model.surveyunit.DataState; @@ -316,14 +317,14 @@ void getLatestByStatesSurveyDataTest(){ //WHEN - ResponseEntity response = responseControllerStatic.findResponsesByInterrogationAndQuestionnaireLatestStates( + ResponseEntity response = responseControllerStatic.findResponsesByInterrogationAndQuestionnaireLatestStates( DEFAULT_INTERROGATION_ID, DEFAULT_QUESTIONNAIRE_ID ); //THEN - SurveyUnitDto surveyUnitDto = response.getBody(); + SurveyUnitQualityToolDto surveyUnitDto = response.getBody(); Assertions.assertThat(surveyUnitDto).isNotNull(); Assertions.assertThat(surveyUnitDto.getSurveyUnitId()).isEqualTo(DEFAULT_INTERROGATION_ID); diff --git a/src/test/java/fr/insee/genesis/controller/utils/LoopIdParserTest.java b/src/test/java/fr/insee/genesis/controller/utils/LoopIdParserTest.java new file mode 100644 index 00000000..f30a6a9c --- /dev/null +++ b/src/test/java/fr/insee/genesis/controller/utils/LoopIdParserTest.java @@ -0,0 +1,24 @@ +package fr.insee.genesis.controller.utils; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class LoopIdParserTest { + + @Test + void shouldReturn42(){ + assertEquals(42, LoopIdParser.extractIndex("BOUCLE_42")); + } + + @Test + void shouldReturnWhen9(){ + assertEquals(9, LoopIdParser.extractIndex("MULTIPLE_UNDERSCORE_BEFORE_SUFFIX_9")); + } + + @Test + void shouldReturnNullIfNoSuffix(){ + assertNull(LoopIdParser.extractIndex("NO_INDEX")); + } + +} \ No newline at end of file From ee33f96b95c76e3dc8ed040d371c269e137b8ff5 Mon Sep 17 00:00:00 2001 From: QDIBYS Date: Wed, 5 Feb 2025 12:29:56 +0100 Subject: [PATCH 07/12] fix: fixes after conflicts --- .../controller/adapter/LunaticXmlAdapter.java | 12 +-- .../genesis/controller/dto/VariableDto.java | 2 +- .../controller/dto/VariableInputDto.java | 2 +- .../rest/responses/ResponseController.java | 3 +- .../controller/utils/DataTransformer.java | 4 +- .../controller/utils/LoopIdParser.java | 6 +- .../model/surveyunit/VariableModel.java | 6 +- .../service/surveyunit/SurveyUnitService.java | 48 +++++------ .../genesis/domain/utils/DataVerifier.java | 32 +++---- .../functional_tests/MainDefinitions.java | 36 ++++---- .../adapter/LunaticXmlAdapterTest.java | 26 +++--- .../rest/HealthCheckControllerTest.java | 8 +- .../controller/rest/UtilsControllerTest.java | 16 ++-- .../responses/ResponseControllerTest.java | 84 +++++++++---------- .../controller/rest/responses/Utils.java | 16 ++-- .../controller/utils/DataVerifierTest.java | 24 +++--- .../model/surveyunit/SurveyUnitModelTest.java | 14 ++-- .../model/surveyunit/VariableModelTest.java | 8 +- .../domain/service/SurveyUnitServiceTest.java | 75 +++++++++-------- .../domain/utils/DataVerifierTest.java | 48 +++++------ .../SurveyUnitDocumentMapperImplTest.java | 11 +-- .../features/do_we_save_loops.feature | 2 +- 22 files changed, 243 insertions(+), 240 deletions(-) diff --git a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java index f48f6c6a..020878b6 100644 --- a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java +++ b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java @@ -123,10 +123,10 @@ private static SurveyUnitModel getCollectedDataFromSurveyUnit(LunaticXmlSurveyUn if (valueTypeList.get(i-1).getValue()!=null) { variableValues.add(valueTypeList.get(i-1).getValue()); variableModels.add(VariableModel.builder() - .idVar(lunaticXmlCollectedData.getVariableName()) + .varId(lunaticXmlCollectedData.getVariableName()) .values(variableValues) - .idLoop(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap, i)) - .idParent(LoopIdentifier.getRelatedVariableName(lunaticXmlCollectedData.getVariableName(), variablesMap)) + .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap, i)) + .parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlCollectedData.getVariableName(), variablesMap)) .build()); dataCount++; } @@ -161,10 +161,10 @@ private static void getExternalDataFromSurveyUnit(LunaticXmlSurveyUnit su, Surve if (valueTypeList.get(i-1).getValue()!=null) { variableValues.add(valueTypeList.get(i-1).getValue()); variableModels.add(VariableModel.builder() - .idVar(lunaticXmlExternalData.getVariableName()) + .varId(lunaticXmlExternalData.getVariableName()) .values(variableValues) - .idLoop(LoopIdentifier.getLoopIdentifier(lunaticXmlExternalData.getVariableName(), variablesMap, i)) - .idParent(LoopIdentifier.getRelatedVariableName(lunaticXmlExternalData.getVariableName(), variablesMap)) + .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlExternalData.getVariableName(), variablesMap, i)) + .parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlExternalData.getVariableName(), variablesMap)) .build()); } } diff --git a/src/main/java/fr/insee/genesis/controller/dto/VariableDto.java b/src/main/java/fr/insee/genesis/controller/dto/VariableDto.java index 0709d3e9..199de674 100644 --- a/src/main/java/fr/insee/genesis/controller/dto/VariableDto.java +++ b/src/main/java/fr/insee/genesis/controller/dto/VariableDto.java @@ -10,7 +10,7 @@ @Data public class VariableDto { private String variableName; - private String idLoop; + private String loopId; @JsonProperty("variableStates") private List variableStateDtoList; diff --git a/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java b/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java index b2837ba2..6b553bd2 100644 --- a/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java +++ b/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java @@ -8,7 +8,7 @@ @Data public class VariableInputDto { private String variableName; - private String idLoop; + private String loopId; @JsonProperty("newVariableState") private VariableStateInputDto variableStateInputDto; diff --git a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java index 7014c5aa..b44b4685 100644 --- a/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java +++ b/src/main/java/fr/insee/genesis/controller/rest/responses/ResponseController.java @@ -57,7 +57,6 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; import java.util.stream.Stream; @RequestMapping(path = "/responses" ) @@ -320,7 +319,7 @@ public ResponseEntity> getLatestByInterrogation(@RequestPa public ResponseEntity getLatestByInterrogationOneObject(@RequestParam("interrogationId") String interrogationId, @RequestParam("questionnaireId") String questionnaireId, @RequestParam("mode") Mode mode) { - List responses = surveyUnitService.findLatestByIdAndByIdQuestionnaire(interrogationId, questionnaireId); + List responses = surveyUnitService.findLatestByIdAndByQuestionnaireId(interrogationId, questionnaireId); List outputVariables = new ArrayList<>(); List outputExternalVariables = new ArrayList<>(); responses.stream().filter(rep -> rep.getMode().equals(mode)).forEach(response -> { diff --git a/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java b/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java index 5719f44e..2e2661c1 100644 --- a/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java +++ b/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java @@ -38,8 +38,8 @@ public static SurveyUnitQualityToolDto transformSurveyUnitDto(SurveyUnitDto dto) private static VariableQualityToolDto transformVariable(VariableDto variable) { Integer iteration = null; - if (variable.getIdLoop() != null) { - iteration = LoopIdParser.extractIndex(variable.getIdLoop()); + if (variable.getLoopId() != null) { + iteration = LoopIdParser.extractIndex(variable.getLoopId()); } return VariableQualityToolDto.builder() diff --git a/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java b/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java index 0e33a6a7..e6395516 100644 --- a/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java +++ b/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java @@ -7,12 +7,12 @@ public class LoopIdParser { private static final Pattern LOOP_PATTERN = Pattern.compile(".*_(\\d+)$"); - public static Integer extractIndex(String idLoop) { - if (idLoop == null) { + public static Integer extractIndex(String loopId) { + if (loopId == null) { return null; } - Matcher matcher = LOOP_PATTERN.matcher(idLoop); + Matcher matcher = LOOP_PATTERN.matcher(loopId); if (matcher.matches()) { return Integer.parseInt(matcher.group(1)); } diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java index c78e7e75..0814fc7f 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java @@ -6,8 +6,8 @@ @Builder public record VariableModel( - String idVar, + String varId, List values, - String idLoop, - String idParent + String loopId, + String parentId ) {} diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index a4a7c5ca..b2a99979 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -2,9 +2,9 @@ import fr.insee.bpm.metadata.model.VariablesMap; import fr.insee.genesis.controller.dto.CampaignWithQuestionnaire; +import fr.insee.genesis.controller.dto.InterrogationId; import fr.insee.genesis.controller.dto.QuestionnaireWithCampaign; import fr.insee.genesis.controller.dto.SurveyUnitDto; -import fr.insee.genesis.controller.dto.SurveyUnitId; import fr.insee.genesis.controller.dto.SurveyUnitInputDto; import fr.insee.genesis.controller.dto.VariableDto; import fr.insee.genesis.controller.dto.VariableInputDto; @@ -92,26 +92,26 @@ public List findLatestByIdAndByQuestionnaireId(String interroga if(latestUpdate.getExternalVariables() == null){ latestUpdate.setExternalVariables(new ArrayList<>()); } - latestUpdate.getCollectedVariables().forEach(colVar -> addedVariables.add(new IdLoopTuple(colVar.idVar(), - colVar.idLoop()))); - latestUpdate.getExternalVariables().forEach(extVar -> addedVariables.add(new IdLoopTuple(extVar.idVar(), ""))); + latestUpdate.getCollectedVariables().forEach(colVar -> addedVariables.add(new IdLoopTuple(colVar.varId(), + colVar.loopId()))); + latestUpdate.getExternalVariables().forEach(extVar -> addedVariables.add(new IdLoopTuple(extVar.varId(), ""))); suByMode.forEach(surveyUnitModel -> { List collectedVariablesToKeep = new ArrayList<>(); List externalVariablesToKeep = new ArrayList<>(); // We iterate over the variables of the update and add them to the list if they are not already added surveyUnitModel.getCollectedVariables().stream() - .filter(colVar -> !addedVariables.contains(new IdLoopTuple(colVar.idVar(), colVar.idLoop()))) + .filter(colVar -> !addedVariables.contains(new IdLoopTuple(colVar.varId(), colVar.loopId()))) .forEach(colVar -> { collectedVariablesToKeep.add(colVar); - addedVariables.add(new IdLoopTuple(colVar.idVar(), colVar.idLoop())); + addedVariables.add(new IdLoopTuple(colVar.varId(), colVar.loopId())); }); if (surveyUnitModel.getExternalVariables() != null){ surveyUnitModel.getExternalVariables().stream() - .filter(extVar -> !addedVariables.contains(new IdLoopTuple(extVar.idVar(), ""))) + .filter(extVar -> !addedVariables.contains(new IdLoopTuple(extVar.varId(), ""))) .forEach(extVar -> { externalVariablesToKeep.add(extVar); - addedVariables.add(new IdLoopTuple(extVar.idVar(), "")); + addedVariables.add(new IdLoopTuple(extVar.varId(), "")); }); } @@ -255,10 +255,10 @@ public List parseEditedVariables( for (DataState state : statesReceived){ SurveyUnitModel surveyUnitModel = SurveyUnitModel.builder() - .idCampaign(surveyUnitInputDto.getCampaignId()) + .campaignId(surveyUnitInputDto.getCampaignId()) .mode(surveyUnitInputDto.getMode()) - .idQuest(surveyUnitInputDto.getIdQuestionnaire()) - .idUE(surveyUnitInputDto.getSurveyUnitId()) + .questionnaireId(surveyUnitInputDto.getIdQuestionnaire()) + .interrogationId(surveyUnitInputDto.getSurveyUnitId()) .state(state) .recordDate(LocalDateTime.now()) .collectedVariables(new ArrayList<>()) @@ -273,10 +273,10 @@ public List parseEditedVariables( //Collected variables management for(VariableInputDto editedVariableDto : editedCollectedVariables){ VariableModel collectedVariable = VariableModel.builder() - .idVar(editedVariableDto.getVariableName()) + .varId(editedVariableDto.getVariableName()) .values(new ArrayList<>()) - .idParent(LoopIdentifier.getRelatedVariableName(editedVariableDto.getVariableName(), variablesMap)) - .idLoop(editedVariableDto.getIdLoop()) + .parentId(LoopIdentifier.getRelatedVariableName(editedVariableDto.getVariableName(), variablesMap)) + .loopId(editedVariableDto.getLoopId()) .build(); collectedVariable.values().add(editedVariableDto.getVariableStateInputDto().getValue()); @@ -311,17 +311,17 @@ private void extractVariables(SurveyUnitModel surveyUnitModel, surveyUnitModel.setCollectedVariables(new ArrayList<>()); } for (VariableModel collectedVariable : surveyUnitModel.getCollectedVariables()) { - IdLoopTuple idLoopTuple = new IdLoopTuple(collectedVariable.idVar(), collectedVariable.idLoop()); - VariableDto variableDto = collectedVariableMap.get(idLoopTuple); + IdLoopTuple loopIdTuple = new IdLoopTuple(collectedVariable.varId(), collectedVariable.loopId()); + VariableDto variableDto = collectedVariableMap.get(loopIdTuple); //Create variable into map if not exists if (variableDto == null) { variableDto = VariableDto.builder() - .variableName(collectedVariable.idVar()) - .idLoop(collectedVariable.idLoop()) + .variableName(collectedVariable.varId()) + .loopId(collectedVariable.loopId()) .variableStateDtoList(new ArrayList<>()) .build(); - collectedVariableMap.put(idLoopTuple, variableDto); + collectedVariableMap.put(loopIdTuple, variableDto); } //Extract variable state if (!collectedVariable.values().isEmpty() && isMostRecentForSameState(surveyUnitModel, variableDto)) { @@ -340,17 +340,17 @@ private void extractVariables(SurveyUnitModel surveyUnitModel, surveyUnitModel.setExternalVariables(new ArrayList<>()); } for(VariableModel externalVariable : surveyUnitModel.getExternalVariables()){ - IdLoopTuple idLoopTuple = new IdLoopTuple(externalVariable.idVar(), externalVariable.idLoop()); - VariableDto variableDto = externalVariableMap.get(idLoopTuple); + IdLoopTuple loopIdTuple = new IdLoopTuple(externalVariable.varId(), externalVariable.loopId()); + VariableDto variableDto = externalVariableMap.get(loopIdTuple); //Create variable into map if not exists if(variableDto == null){ variableDto = VariableDto.builder() - .variableName(externalVariable.idVar()) - .idLoop(externalVariable.idLoop()) + .variableName(externalVariable.varId()) + .loopId(externalVariable.loopId()) .variableStateDtoList(new ArrayList<>()) .build(); - externalVariableMap.put(idLoopTuple, variableDto); + externalVariableMap.put(loopIdTuple, variableDto); } //Extract variable state if(!externalVariable.values().isEmpty() && isMostRecentForSameState(surveyUnitModel, variableDto)){ diff --git a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java index 71ba8329..32d439a1 100644 --- a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java +++ b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java @@ -86,10 +86,10 @@ private static SurveyUnitModel createForcedDto( for(VariableModel correctedCollectedVariable : correctedCollectedVariables){ newForcedSuDto.getCollectedVariables().add( VariableModel.builder() - .idVar(correctedCollectedVariable.idVar()) + .varId(correctedCollectedVariable.varId()) .values(correctedCollectedVariable.values()) - .idLoop(correctedCollectedVariable.idLoop()) - .idParent(correctedCollectedVariable.idParent()) + .loopId(correctedCollectedVariable.loopId()) + .parentId(correctedCollectedVariable.parentId()) .build() ); } @@ -97,10 +97,10 @@ private static SurveyUnitModel createForcedDto( for(VariableModel correctedExternalVariable : correctedExternalVariables){ newForcedSuDto.getExternalVariables().add( VariableModel.builder() - .idVar(correctedExternalVariable.idVar()) + .varId(correctedExternalVariable.varId()) .values(correctedExternalVariable.values()) - .idLoop(correctedExternalVariable.idLoop()) - .idParent(correctedExternalVariable.idParent()) + .loopId(correctedExternalVariable.loopId()) + .parentId(correctedExternalVariable.parentId()) .build() ); } @@ -138,8 +138,8 @@ private static void collectedVariablesManagement(List srcSuDtos //Get more priority variables to verify for(SurveyUnitModel srcSuDto : sortedSuDtos){ for(VariableModel collectedVariable : srcSuDto.getCollectedVariables()){ - if(!variableNames.contains(collectedVariable.idVar())){ - variableNames.add(collectedVariable.idVar()); + if(!variableNames.contains(collectedVariable.varId())){ + variableNames.add(collectedVariable.varId()); variablesToVerify.add(collectedVariable); } } @@ -147,11 +147,11 @@ private static void collectedVariablesManagement(List srcSuDtos //Verify variables for(VariableModel collectedVariableToVerify : variablesToVerify){ - if(variablesMap.hasVariable(collectedVariableToVerify.idVar())) + if(variablesMap.hasVariable(collectedVariableToVerify.varId())) { VariableModel correctedCollectedVariable = verifyCollectedVariable( collectedVariableToVerify, - variablesMap.getVariable(collectedVariableToVerify.idVar()) + variablesMap.getVariable(collectedVariableToVerify.varId()) ); if(correctedCollectedVariable != null){ @@ -176,10 +176,10 @@ private static VariableModel verifyCollectedVariable(VariableModel collectedVari return isInvalid ? VariableModel.builder() - .idVar(collectedVariable.idVar()) + .varId(collectedVariable.varId()) .values(newValues) - .idLoop(collectedVariable.idLoop()) - .idParent(collectedVariable.idParent()) + .loopId(collectedVariable.loopId()) + .parentId(collectedVariable.parentId()) .build() : null; } @@ -192,10 +192,10 @@ private static void externalVariablesManagement(List srcSuDtosO //Verify variables if(collectedSuDtoOpt.isPresent()){ for(VariableModel variable: collectedSuDtoOpt.get().getExternalVariables()){ - if(variablesMap.hasVariable(variable.idVar())) { + if(variablesMap.hasVariable(variable.varId())) { VariableModel correctedExternalVariable = verifyExternalVariable( variable, - variablesMap.getVariable(variable.idVar()) + variablesMap.getVariable(variable.varId()) ); if (correctedExternalVariable != null) { correctedExternalVariables.add(correctedExternalVariable); @@ -225,7 +225,7 @@ private static VariableModel verifyExternalVariable(VariableModel externalVariab } return isInvalid ? VariableModel.builder() - .idVar(externalVariable.idVar()) + .varId(externalVariable.varId()) .values(newValues) .build() : null; } diff --git a/src/test/java/cucumber/functional_tests/MainDefinitions.java b/src/test/java/cucumber/functional_tests/MainDefinitions.java index ed62a02c..f8bd35cd 100644 --- a/src/test/java/cucumber/functional_tests/MainDefinitions.java +++ b/src/test/java/cucumber/functional_tests/MainDefinitions.java @@ -164,10 +164,10 @@ public void check_survey_unit_dto_content(String dataState, String surveyUnitId, //Get Variable Assertions.assertThat(concernedSurveyUnitModel.getCollectedVariables()).filteredOn(collectedvariableModel -> - collectedvariableModel.idVar().equals(variableName)).isNotEmpty(); + collectedvariableModel.varId().equals(variableName)).isNotEmpty(); Optional concernedCollectedVariableOptional = concernedSurveyUnitModel.getCollectedVariables().stream().filter(variable -> - variable.idVar().equals(variableName) + variable.varId().equals(variableName) ).findFirst(); Assertions.assertThat(concernedCollectedVariableOptional).isPresent(); @@ -196,10 +196,10 @@ public void external_variable_volumetric_check(int expectedNumberOfValues, Strin //Get Variable Assertions.assertThat(surveyUnitModel.getExternalVariables()).filteredOn(variableModel -> - variableModel.idVar().equals(externalVariableName)).isNotEmpty(); + variableModel.varId().equals(externalVariableName)).isNotEmpty(); Optional concernedVariableOptional = surveyUnitModel.getExternalVariables().stream().filter(variable -> - variable.idVar().equals(externalVariableName) + variable.varId().equals(externalVariableName) ).findFirst(); Assertions.assertThat(concernedVariableOptional).isPresent(); @@ -229,49 +229,49 @@ public void forExternalVariableInSurveyUnitWeShouldHaveForLoop(String externalVa //Get Variable Assertions.assertThat(surveyUnitModel.getExternalVariables()).filteredOn(variableModel -> - variableModel.idVar().equals(externalVariableName) - && Objects.equals(variableModel.idLoop(), expectedLoopId) + variableModel.varId().equals(externalVariableName) + && Objects.equals(variableModel.loopId(), expectedLoopId) ).isNotEmpty().hasSize(1); VariableModel concernedExternalVariable = surveyUnitModel.getExternalVariables().stream().filter(variableModel -> - variableModel.idVar().equals(externalVariableName) - && Objects.equals(variableModel.idLoop(), expectedLoopId) + variableModel.varId().equals(externalVariableName) + && Objects.equals(variableModel.loopId(), expectedLoopId) ).toList().getFirst(); //Value content assertion Assertions.assertThat(concernedExternalVariable.values()).hasSize(1); Assertions.assertThat(concernedExternalVariable.values().getFirst()).isEqualTo(expectedValue); - Assertions.assertThat(concernedExternalVariable.idLoop()).isNotNull().isEqualTo(expectedLoopId); + Assertions.assertThat(concernedExternalVariable.loopId()).isNotNull().isEqualTo(expectedLoopId); } - @Then("For external variable {string} in survey unit {string} we should have {string} as idLoop and {string} as first " + + @Then("For external variable {string} in survey unit {string} we should have {string} as loopId and {string} as first " + "value") - public void check_idLoop_and_value(String externalVariableName, String interrogationId, String expectedLoopId, + public void check_loopId_and_value(String externalVariableName, String interrogationId, String expectedLoopId, String expectedValue) { //Get SurveyUnitModel Assertions.assertThat(surveyUnitPersistence.getMongoStub()).filteredOn(surveyUnitDto -> surveyUnitDto.getState().equals(DataState.COLLECTED) - && surveyUnitDto.getIdUE().equals(interrogationId) + && surveyUnitDto.getInterrogationId().equals(interrogationId) ).isNotEmpty().hasSize(1); SurveyUnitModel surveyUnitModel = surveyUnitPersistence.getMongoStub().stream().filter(dto -> dto.getState().equals(DataState.COLLECTED) - && dto.getIdUE().equals(interrogationId) + && dto.getInterrogationId().equals(interrogationId) ).toList().getFirst(); //Get Variable Assertions.assertThat(surveyUnitModel.getExternalVariables()).filteredOn(variableModel -> - variableModel.idVar().equals(externalVariableName) - && Objects.equals(variableModel.idLoop(), expectedLoopId) + variableModel.varId().equals(externalVariableName) + && Objects.equals(variableModel.loopId(), expectedLoopId) ).isNotEmpty().hasSize(1); VariableModel concernedExternalVariable = surveyUnitModel.getExternalVariables().stream().filter(variableModel -> - variableModel.idVar().equals(externalVariableName) - && Objects.equals(variableModel.idLoop(), expectedLoopId) + variableModel.varId().equals(externalVariableName) + && Objects.equals(variableModel.loopId(), expectedLoopId) ).toList().getFirst(); //Value content assertion - Assertions.assertThat(concernedExternalVariable.idLoop()).isNotNull().isEqualTo(expectedLoopId); + Assertions.assertThat(concernedExternalVariable.loopId()).isNotNull().isEqualTo(expectedLoopId); Assertions.assertThat(concernedExternalVariable.values()).hasSize(1); Assertions.assertThat(concernedExternalVariable.values().getFirst()).isEqualTo(expectedValue); } diff --git a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java index de87b727..2e34310f 100644 --- a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java +++ b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java @@ -331,11 +331,11 @@ void test09() { Assertions.assertThat(suDtos).hasSize(1); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.idVar().equals("var3")).isNotEmpty(); + collectedVariableDto.varId().equals("var3")).isNotEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idVar().equals("var3")).toList().getFirst().idParent()).isNull(); + collectedVariableDto.varId().equals("var3")).toList().getFirst().parentId()).isNull(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idVar().equals("var3")).toList().getFirst().idLoop()).isEqualTo(Constants.ROOT_GROUP_NAME); + collectedVariableDto.varId().equals("var3")).toList().getFirst().loopId()).isEqualTo(Constants.ROOT_GROUP_NAME); } @Test @@ -348,11 +348,11 @@ void test10() { Assertions.assertThat(suDtos).hasSize(1); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.idVar().equals("var1_MISSING")).isNotEmpty(); + collectedVariableDto.varId().equals("var1_MISSING")).isNotEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idVar().equals("var1_MISSING")).toList().getFirst().idParent()).isNotNull().isEqualTo("var1"); + collectedVariableDto.varId().equals("var1_MISSING")).toList().getFirst().parentId()).isNotNull().isEqualTo("var1"); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idVar().equals("var1_MISSING")).toList().getFirst().idLoop()).isNotEqualTo(Constants.ROOT_GROUP_NAME).isEqualTo(LOOP_NAME); + collectedVariableDto.varId().equals("var1_MISSING")).toList().getFirst().loopId()).isNotEqualTo(Constants.ROOT_GROUP_NAME).isEqualTo(LOOP_NAME); } @Test @@ -364,13 +364,13 @@ void test11(){ Assertions.assertThat(suDtos).hasSize(1); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).hasSize(3); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.idVar().equals("var1")).isNotEmpty(); + collectedVariableDto.varId().equals("var1")).isNotEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.idLoop().equals("BOUCLE1_1")).isEmpty(); + collectedVariableDto.loopId().equals("BOUCLE1_1")).isEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idLoop().equals("BOUCLE1_2")).toList().getFirst().values().getFirst()).isEqualTo("1"); + collectedVariableDto.loopId().equals("BOUCLE1_2")).toList().getFirst().values().getFirst()).isEqualTo("1"); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idLoop().equals("BOUCLE1_3")).toList().getFirst().values().getFirst()).isEqualTo("2"); + collectedVariableDto.loopId().equals("BOUCLE1_3")).toList().getFirst().values().getFirst()).isEqualTo("2"); } @@ -383,10 +383,10 @@ void test12(){ Assertions.assertThat(suDtos).hasSize(1); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).isEmpty(); Assertions.assertThat(suDtos.getFirst().getExternalVariables()).hasSize(1); - Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().idVar()).isEqualTo("extvar1"); + Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().varId()).isEqualTo("extvar1"); Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().values()).hasSize(1); Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().values().getFirst()).isEqualTo("ext"); - Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().idLoop()).isEqualTo(LOOP_NAME+"_1"); - Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().idParent()).isEqualTo(Constants.ROOT_GROUP_NAME); + Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().loopId()).isEqualTo(LOOP_NAME+"_1"); + Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); } } diff --git a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java index d56cb2d2..610b024b 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java @@ -30,15 +30,15 @@ static void init() { surveyUnitPersistencePortStub = new SurveyUnitPersistencePortStub(); SurveyUnitApiPort surveyUnitApiPort = new SurveyUnitService(surveyUnitPersistencePortStub); List externalVariableList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); diff --git a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java index eabbab60..ac3bc773 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java @@ -60,15 +60,15 @@ void reset() throws IOException { surveyUnitPersistencePortStub.getMongoStub().clear(); List externalVariableList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); @@ -353,15 +353,15 @@ private void addAdditionalDtoToMongoStub(String idQuestionnaire) { private void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnaire) { List externalVariableList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java index c22a24b0..06c20580 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java @@ -3,10 +3,10 @@ import cucumber.TestConstants; import fr.insee.genesis.Constants; import fr.insee.genesis.configuration.Config; -import fr.insee.genesis.controller.dto.SurveyUnitDto; import fr.insee.genesis.controller.dto.InterrogationId; import fr.insee.genesis.controller.dto.SurveyUnitInputDto; import fr.insee.genesis.controller.dto.SurveyUnitQualityToolDto; +import fr.insee.genesis.controller.dto.SurveyUnitSimplified; import fr.insee.genesis.controller.dto.VariableInputDto; import fr.insee.genesis.controller.dto.VariableStateInputDto; import fr.insee.genesis.controller.utils.AuthUtils; @@ -395,14 +395,14 @@ void saveEditedTest() { surveyUnitPersistencePortStub.getMongoStub().clear(); String campaignId = ID_CAMPAIGN_WITH_DDI; String idQuest = ID_QUEST_WITH_DDI; - String idVar = "PRENOM_C"; - String idLoop = "BOUCLE_VAL_ANNAISS_1"; + String varId = "PRENOM_C"; + String loopId = "BOUCLE_VAL_ANNAISS_1"; String editedValue = "TESTPRENOMEDITED"; List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() - .variableName(idVar) - .idLoop(idLoop) + .variableName(varId) + .loopId(loopId) .build(); variableInputDto.setVariableStateInputDto(VariableStateInputDto.builder() @@ -426,8 +426,8 @@ void saveEditedTest() { //THEN Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub()).hasSize(1); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getIdCampaign()).isEqualTo(campaignId); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getIdQuest()).isEqualTo(idQuest); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCampaignId()).isEqualTo(campaignId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getQuestionnaireId()).isEqualTo(idQuest); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getMode()).isEqualTo(Mode.WEB); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getState()).isEqualTo(DataState.EDITED); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getFileDate()).isNull(); @@ -435,9 +435,9 @@ void saveEditedTest() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getExternalVariables()).isEmpty(); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables()).hasSize(1); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().idVar()).isEqualTo(idVar); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().idLoop()).isEqualTo(idLoop); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().idParent()).isEqualTo(Constants.ROOT_GROUP_NAME); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().varId()).isEqualTo(varId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().values()).hasSize(1); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().values().getFirst()).isEqualTo(editedValue); @@ -450,16 +450,16 @@ void saveEditedTest_DocumentEdited() { surveyUnitPersistencePortStub.getMongoStub().clear(); String campaignId = ID_CAMPAIGN_WITH_DDI; String idQuest = ID_QUEST_WITH_DDI; - String idVar = "PRENOM_C"; - String idVar2 = "NB_SOEURS"; - String idLoop = "BOUCLE_VAL_ANNAISS_1"; + String varId = "PRENOM_C"; + String varId2 = "NB_SOEURS"; + String loopId = "BOUCLE_VAL_ANNAISS_1"; String editedValue = "NOT A INT"; //Variable 1 List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() - .variableName(idVar) - .idLoop(idLoop) + .variableName(varId) + .loopId(loopId) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -469,8 +469,8 @@ void saveEditedTest_DocumentEdited() { //Variable 2 VariableInputDto variableInputDto2 = VariableInputDto.builder() - .variableName(idVar2) - .idLoop(idLoop) + .variableName(varId2) + .loopId(loopId) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -492,8 +492,8 @@ void saveEditedTest_DocumentEdited() { //THEN //EDITED document assertions Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub()).hasSize(2); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getIdCampaign()).isEqualTo(campaignId); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getIdQuest()).isEqualTo(idQuest); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCampaignId()).isEqualTo(campaignId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getQuestionnaireId()).isEqualTo(idQuest); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getState()).isEqualTo(DataState.EDITED); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getMode()).isEqualTo(Mode.WEB); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getFileDate()).isNull(); @@ -501,9 +501,9 @@ void saveEditedTest_DocumentEdited() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getExternalVariables()).isEmpty(); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables()).hasSize(2); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().idVar()).isEqualTo(idVar); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().idLoop()).isEqualTo(idLoop); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().idParent()).isEqualTo(Constants.ROOT_GROUP_NAME); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().varId()).isEqualTo(varId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().values()).hasSize(1); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().values().getFirst()).isEqualTo(editedValue); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getModifiedBy()).isNull(); @@ -515,16 +515,16 @@ void saveEditedTest_DocumentForced() { surveyUnitPersistencePortStub.getMongoStub().clear(); String campaignId = ID_CAMPAIGN_WITH_DDI; String idQuest = ID_QUEST_WITH_DDI; - String idVar = "PRENOM_C"; - String idVar2 = "NB_SOEURS"; - String idLoop = "BOUCLE_VAL_ANNAISS_1"; + String varId = "PRENOM_C"; + String varId2 = "NB_SOEURS"; + String loopId = "BOUCLE_VAL_ANNAISS_1"; String editedValue = "NOT A INT"; //Variable 1 List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() - .variableName(idVar) - .idLoop(idLoop) + .variableName(varId) + .loopId(loopId) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -534,8 +534,8 @@ void saveEditedTest_DocumentForced() { //Variable 2 VariableInputDto variableInputDto2 = VariableInputDto.builder() - .variableName(idVar2) - .idLoop(idLoop) + .variableName(varId2) + .loopId(loopId) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -558,8 +558,8 @@ void saveEditedTest_DocumentForced() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub()).hasSize(2); //FORCED document assertions - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getIdCampaign()).isEqualTo(campaignId); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getIdQuest()).isEqualTo(idQuest); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCampaignId()).isEqualTo(campaignId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getQuestionnaireId()).isEqualTo(idQuest); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getState()).isEqualTo(DataState.FORCED); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getMode()).isEqualTo(Mode.WEB); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getFileDate()).isNull(); @@ -567,9 +567,9 @@ void saveEditedTest_DocumentForced() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getExternalVariables()).isEmpty(); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables()).hasSize(1); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().idVar()).isEqualTo(idVar2); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().idLoop()).isEqualTo(idLoop); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().idParent()).isEqualTo(Constants.ROOT_GROUP_NAME); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().varId()).isEqualTo(varId2); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().values()).hasSize(1); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().values().getFirst()).isNotNull().isEmpty(); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getModifiedBy()).isNull(); @@ -579,15 +579,15 @@ void saveEditedTest_No_Metadata_Error() { //GIVEN surveyUnitPersistencePortStub.getMongoStub().clear(); String campaignId = "TEST"; - String idVar = "PRENOM_C"; - String idLoop = "BOUCLE_VAL_ANNAISS_1"; + String varId = "PRENOM_C"; + String loopId = "BOUCLE_VAL_ANNAISS_1"; String editedValue = "TESTVALUE"; //Variable 1 List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() - .variableName(idVar) - .idLoop(idLoop) + .variableName(varId) + .loopId(loopId) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -614,15 +614,15 @@ void saveEditedTest_No_Metadata_Error() { void saveTest_With_Collected_State_Error(){ //GIVEN surveyUnitPersistencePortStub.getMongoStub().clear(); - String idVar = "PRENOM_C"; - String idLoop = "BOUCLE_VAL_ANNAISS_1"; + String varId = "PRENOM_C"; + String loopId = "BOUCLE_VAL_ANNAISS_1"; String editedValue = "TESTVALUE"; //Variable 1 List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() - .variableName(idVar) - .idLoop(idLoop) + .variableName(varId) + .loopId(loopId) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.COLLECTED) //Collected instead of EDITED .value(editedValue) diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java index 2e02a841..e1cd028a 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java @@ -184,15 +184,15 @@ static void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnair LocalDateTime fileDate, LocalDateTime recordDate, SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) { List externalVariableList = new ArrayList<>(); - VariableModel externalVariable = VariableModel.builder().idVar("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel externalVariable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(externalVariable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); @@ -221,15 +221,15 @@ static void addAdditionalDtoToMongoStub(DataState state, LocalDateTime recordDate, SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) { List externalVariableList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().idVar("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); + VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{collectedVariableValue})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java index e81f9615..0dcb182d 100644 --- a/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java +++ b/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java @@ -149,14 +149,14 @@ private static void createCase(int variableNumber, int stateNumber, int valueNum } collectedVariables.add(VariableModel.builder() - .idVar("testInteger" + variableIndex) + .varId("testInteger" + variableIndex) .values(new ArrayList<>(values)) .build() ); if(hasExternalVariables){ externalVariables.add(VariableModel.builder() - .idVar("testInteger" + variableIndex) + .varId("testInteger" + variableIndex) .values(new ArrayList<>(values)) .build() ); @@ -209,15 +209,15 @@ private void assertCollectedVariableContent(List testSurveyUnit SurveyUnitModel suDto = suDtoOpt.get(); assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idVar().equals(variableName) + collectedVariableDto.varId().equals(variableName) )).isNotEmpty(); assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idVar().equals(variableName) + collectedVariableDto.varId().equals(variableName) ).findFirst()).isPresent(); assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.idVar().equals(variableName) + collectedVariableDto.varId().equals(variableName) ).findFirst().get().values().get(valueIndex)).isEqualTo(expectedContent); } @@ -231,9 +231,9 @@ private void assertForcedCollectedVariableExistence(List testSu SurveyUnitModel suDto = suDtoOpt.get(); if(hasToExist) - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.idVar().equals(variableName)).toList()).isNotEmpty(); + assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.varId().equals(variableName)).toList()).isNotEmpty(); else - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.idVar().equals(variableName)).toList()).isEmpty(); + assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.varId().equals(variableName)).toList()).isEmpty(); } private void assertForcedExternalVariableExistence(List testSurveyUnitModels, String idUE, String variableName, boolean hasToExist) { @@ -246,9 +246,9 @@ private void assertForcedExternalVariableExistence(List testSur SurveyUnitModel suDto = suDtoOpt.get(); if(hasToExist) - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.idVar().equals(variableName)).toList()).isNotEmpty(); + assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.varId().equals(variableName)).toList()).isNotEmpty(); else - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.idVar().equals(variableName)).toList()).isEmpty(); + assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.varId().equals(variableName)).toList()).isEmpty(); } private void assertExternalVariableContent(List testSurveyUnitModels, String idUE, String variableName, int valueIndex, String expectedContent) { @@ -264,15 +264,15 @@ private void assertExternalVariableContent(List testSurveyUnitM SurveyUnitModel suDto = suDtoOpt.get(); assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.idVar().equals(variableName) + variableDto.varId().equals(variableName) )).isNotEmpty(); assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.idVar().equals(variableName) + variableDto.varId().equals(variableName) ).findFirst()).isPresent(); assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.idVar().equals(variableName) + variableDto.varId().equals(variableName) ).findFirst().get().values().get(valueIndex)).isEqualTo(expectedContent); } diff --git a/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java b/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java index b9304e3e..2edd12ed 100644 --- a/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java +++ b/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java @@ -14,19 +14,19 @@ public class SurveyUnitModelTest { public void toJSONTest() throws JsonProcessingException { List externalVariableList = new ArrayList<>(); VariableModel externalVariable = VariableModel.builder() - .idVar("TESTIDVAREXT") + .varId("TESTIDVAREXT") .values(List.of(new String[]{"V1","V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); externalVariableList.add(externalVariable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1","V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); @@ -46,7 +46,7 @@ public void toJSONTest() throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.findAndRegisterModules(); Assertions.assertEquals( - objectMapper.readTree("{\"idQuest\":\"TESTIDQUEST\",\"idCampaign\":\"TESTIDCAMPAIGN\",\"interrogationId\":\"TESTIDUE\",\"state\":\"COLLECTED\",\"mode\":\"WEB\",\"recordDate\":\"2000-01-01T12:00\",\"fileDate\":\"2000-01-01T12:00\",\"collectedVariables\":[{\"idVar\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"],\"idLoop\":\"TESTIDLOOP\",\"idParent\":\"TESTIDPARENT\"}],\"externalVariables\":[{\"idVar\":\"TESTIDVAREXT\",\"values\":[\"V1\",\"V2\"],\"idLoop\":\"TESTIDLOOP\",\"idParent\":\"TESTIDPARENT\"}],\"modifiedBy\": null}"), + objectMapper.readTree("{\"questionnaireId\":\"TESTIDQUEST\",\"campaignId\":\"TESTIDCAMPAIGN\",\"interrogationId\":\"TESTIDUE\",\"state\":\"COLLECTED\",\"mode\":\"WEB\",\"recordDate\":\"2000-01-01T12:00\",\"fileDate\":\"2000-01-01T12:00\",\"collectedVariables\":[{\"varId\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"],\"loopId\":\"TESTIDLOOP\",\"parentId\":\"TESTIDPARENT\"}],\"externalVariables\":[{\"varId\":\"TESTIDVAREXT\",\"values\":[\"V1\",\"V2\"],\"loopId\":\"TESTIDLOOP\",\"parentId\":\"TESTIDPARENT\"}],\"modifiedBy\": null}"), objectMapper.readTree(objectMapper.writeValueAsString(surveyUnitModel)) ); } diff --git a/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableModelTest.java b/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableModelTest.java index 37c67adb..12aca1f5 100644 --- a/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableModelTest.java +++ b/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableModelTest.java @@ -12,9 +12,9 @@ class VariableModelTest { @Test void toJSONTest() throws JsonProcessingException { VariableModel variable = VariableModel.builder() - .idVar("TESTIDVAR") - .idParent("TESTIDPARENT") - .idLoop("TESTIDLOOP") + .varId("TESTIDVAR") + .parentId("TESTIDPARENT") + .loopId("TESTIDLOOP") .values(new ArrayList<>(List.of(new String[]{"V1", "V2"}))) .build(); @@ -22,6 +22,6 @@ void toJSONTest() throws JsonProcessingException { objectMapper.findAndRegisterModules(); Assertions.assertEquals(objectMapper.readTree(objectMapper.writeValueAsString(variable)), - objectMapper.readTree("{\"values\":[\"V1\",\"V2\"],\"idVar\":\"TESTIDVAR\",\"idLoop\":\"TESTIDLOOP\",\"idParent\":\"TESTIDPARENT\"}")); + objectMapper.readTree("{\"values\":[\"V1\",\"V2\"],\"varId\":\"TESTIDVAR\",\"loopId\":\"TESTIDLOOP\",\"parentId\":\"TESTIDPARENT\"}")); } } \ No newline at end of file diff --git a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java index 4dd1e9f2..7c130a4f 100644 --- a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java +++ b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java @@ -43,16 +43,16 @@ void reset(){ surveyUnitPersistencePortStub.getMongoStub().clear(); List externalVariableList = new ArrayList<>(); VariableModel variable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); @@ -61,7 +61,7 @@ void reset(){ .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) .interrogationId(DEFAULT_ID_UE) - .idQuest(DEFAULT_ID_QUEST) + .questionnaireId(DEFAULT_ID_QUEST) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023,1,1,0,0,0)) .recordDate(LocalDateTime.of(2024,1,1,0,0,0)) @@ -78,16 +78,16 @@ void saveAllTest(){ List externalVariableList = new ArrayList<>(); VariableModel externalVariableModel = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})).build(); externalVariableList.add(externalVariableModel); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariableModel = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariableModel); @@ -97,7 +97,7 @@ void saveAllTest(){ .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) .interrogationId("TESTIDUE2") - .idQuest(DEFAULT_ID_QUEST) + .questionnaireId(DEFAULT_ID_QUEST) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023,1,1,0,0,0)) .recordDate(LocalDateTime.of(2024,1,1,0,0,0)) @@ -109,19 +109,19 @@ void saveAllTest(){ surveyUnitServiceStatic.saveSurveyUnits(newSurveyUnitModelList); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub()).filteredOn(surveyUnitModel -> - surveyUnitModel.getIdCampaign().equals("TESTIDCAMPAIGN") + surveyUnitModel.getCampaignId().equals("TESTIDCAMPAIGN") && surveyUnitModel.getMode().equals(Mode.WEB) && surveyUnitModel.getInterrogationId().equals("TESTIDUE2") - && surveyUnitModel.getIdQuest().equals(DEFAULT_ID_QUEST) + && surveyUnitModel.getQuestionnaireId().equals(DEFAULT_ID_QUEST) && surveyUnitModel.getState().equals(DataState.COLLECTED) && surveyUnitModel.getFileDate().equals(LocalDateTime.of(2023,1,1,0,0,0)) && surveyUnitModel.getRecordDate().equals(LocalDateTime.of(2024,1,1,0,0,0)) && !surveyUnitModel.getExternalVariables().stream().filter( - externalVariable -> externalVariable.idVar().equals("TESTIDVAR") + externalVariable -> externalVariable.varId().equals("TESTIDVAR") && externalVariable.values().containsAll(List.of(new String[]{"V1", "V2"})) ).toList().isEmpty() && !surveyUnitModel.getCollectedVariables().stream().filter( - collectedVariable -> collectedVariable.idVar().equals("TESTIDVAR") + collectedVariable -> collectedVariable.varId().equals("TESTIDVAR") && collectedVariable.values().containsAll(List.of(new String[]{"V1", "V2"})) ).toList().isEmpty() ).isNotEmpty(); @@ -132,7 +132,7 @@ void findByIdsUEAndQuestionnaireTest(){ Assertions.assertThat(surveyUnitServiceStatic.findByIdsInterrogationAndQuestionnaire(DEFAULT_ID_UE, DEFAULT_ID_QUEST)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(DEFAULT_ID_UE) - && surveyUnitDto.getIdQuest().equals(DEFAULT_ID_QUEST) + && surveyUnitDto.getQuestionnaireId().equals(DEFAULT_ID_QUEST) ).isNotEmpty(); } @@ -146,8 +146,8 @@ void findByIdUETest(){ @Test void findByIdQuestionnaireTest(){ - Assertions.assertThat(surveyUnitServiceStatic.findByIdQuestionnaire(DEFAULT_ID_QUEST)).filteredOn( - surveyUnitDto -> surveyUnitDto.getIdQuest().equals(DEFAULT_ID_QUEST) + Assertions.assertThat(surveyUnitServiceStatic.findByQuestionnaireId(DEFAULT_ID_QUEST)).filteredOn( + surveyUnitDto -> surveyUnitDto.getQuestionnaireId().equals(DEFAULT_ID_QUEST) ).isNotEmpty(); } @@ -157,7 +157,7 @@ void findLatestByIdAndByModeTest(){ Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByQuestionnaireId(DEFAULT_ID_UE, DEFAULT_ID_QUEST)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(DEFAULT_ID_UE) - && surveyUnitDto.getIdQuest().equals(DEFAULT_ID_QUEST) + && surveyUnitDto.getQuestionnaireId().equals(DEFAULT_ID_QUEST) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) ).isNotEmpty(); } @@ -172,9 +172,9 @@ void findResponsesByUEAndQuestionnaireTest_null_collectedVariables() { ); surveyUnitPersistencePortStub.getMongoStub().getLast().setCollectedVariables(null); - Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByIdQuestionnaire(DEFAULT_ID_UE, DEFAULT_ID_QUEST)).filteredOn( + Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByQuestionnaireId(DEFAULT_ID_UE, DEFAULT_ID_QUEST)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(DEFAULT_ID_UE) - && surveyUnitDto.getIdQuest().equals(DEFAULT_ID_QUEST) + && surveyUnitDto.getQuestionnaireId().equals(DEFAULT_ID_QUEST) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) ).isNotEmpty(); } @@ -188,9 +188,9 @@ void findResponsesByUEAndQuestionnaireTest_null_externalVariables() { ); surveyUnitPersistencePortStub.getMongoStub().getLast().setExternalVariables(null); - Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByIdQuestionnaire(DEFAULT_ID_UE, DEFAULT_ID_QUEST)).filteredOn( + Assertions.assertThat(surveyUnitServiceStatic.findLatestByIdAndByQuestionnaireId(DEFAULT_ID_UE, DEFAULT_ID_QUEST)).filteredOn( surveyUnitDto -> surveyUnitDto.getInterrogationId().equals(DEFAULT_ID_UE) - && surveyUnitDto.getIdQuest().equals(DEFAULT_ID_QUEST) + && surveyUnitDto.getQuestionnaireId().equals(DEFAULT_ID_QUEST) && surveyUnitDto.getFileDate().getMonth().equals(Month.FEBRUARY) ).isNotEmpty(); } @@ -430,23 +430,24 @@ void findLatestByIdAndByQuestionnaireIdPerretTest_null_externalVariables(){ private void addAdditionnalDtoToMongoStub(){ List externalVariableList = new ArrayList<>(); - VariableModel externalVariableModel = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel externalVariableModel = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1" + , "V2"})).build(); externalVariableList.add(externalVariableModel); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariableModel = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariableModel); SurveyUnitModel recentDTO = SurveyUnitModel.builder() .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) - .idUE(DEFAULT_ID_UE) - .idQuest(DEFAULT_ID_QUEST) + .interrogationId(DEFAULT_ID_UE) + .questionnaireId(DEFAULT_ID_QUEST) .state(DataState.COLLECTED) .fileDate(LocalDateTime.of(2023,2,2,0,0,0)) .recordDate(LocalDateTime.of(2024,2,2,0,0,0)) @@ -458,15 +459,16 @@ private void addAdditionnalDtoToMongoStub(){ private void addAdditionnalDtoToMongoStub(String idQuestionnaire) { List externalVariableList = new ArrayList<>(); - VariableModel externalVariableModel = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel externalVariableModel = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1" + , "V2"})).build(); externalVariableList.add(externalVariableModel); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariableModel = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariableModel); @@ -490,15 +492,16 @@ private void addAdditionnalDtoToMongoStub(DataState state, LocalDateTime fileDate, LocalDateTime recordDate) { List externalVariableList = new ArrayList<>(); - VariableModel externalVariableModel = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); + VariableModel externalVariableModel = + VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); externalVariableList.add(externalVariableModel); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{collectedVariableValue})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java index ff3afcd8..a8977dd9 100644 --- a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java +++ b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java @@ -36,17 +36,17 @@ void setUp() { // Setup survey units VariableModel collectedVariable1 = VariableModel.builder() - .idVar("var1") + .varId("var1") .values(List.of("123")) - .idLoop("loop1") - .idParent("parent1") + .loopId("loop1") + .parentId("parent1") .build(); VariableModel collectedVariable2 = VariableModel.builder() - .idVar("var2") + .varId("var2") .values(List.of("true")) - .idLoop("loop2") - .idParent("parent2") + .loopId("loop2") + .parentId("parent2") .build(); SurveyUnitModel surveyUnit = SurveyUnitModel.builder() @@ -78,21 +78,21 @@ void shouldAddForcedSurveyUnit_WhenInvalidCollectedVariable() { // Add invalid value surveyUnits.clear(); VariableModel collectedVariable1 = VariableModel.builder() - .idVar("var1") + .varId("var1") .values(List.of("invalid")) - .idLoop("loop1") - .idParent("parent1") + .loopId("loop1") + .parentId("parent1") .build(); VariableModel collectedVariable2 = VariableModel.builder() - .idVar("var2") + .varId("var2") .values(List.of("true")) - .idLoop("loop2") - .idParent("parent2") + .loopId("loop2") + .parentId("parent2") .build(); SurveyUnitModel surveyUnit = SurveyUnitModel.builder() - .idUE("UE1100000001") - .idQuest("Quest1") - .idCampaign("Camp1") + .interrogationId("UE1100000001") + .questionnaireId("Quest1") + .campaignId("Camp1") .state(DataState.COLLECTED) .collectedVariables(List.of(collectedVariable1, collectedVariable2)) .externalVariables(List.of()) @@ -151,21 +151,21 @@ void shouldCorrectInvalidValuesInForcedSurveyUnit() { // ADD invalid values surveyUnits.clear(); VariableModel collectedVariable1 = VariableModel.builder() - .idVar("var1") + .varId("var1") .values(List.of("invalid", "456")) - .idLoop("loop1") - .idParent("parent1") + .loopId("loop1") + .parentId("parent1") .build(); VariableModel collectedVariable2 = VariableModel.builder() - .idVar("var2") + .varId("var2") .values(List.of("false")) - .idLoop("loop2") - .idParent("parent2") + .loopId("loop2") + .parentId("parent2") .build(); SurveyUnitModel surveyUnit = SurveyUnitModel.builder() - .idUE("UE1100000001") - .idQuest("Quest1") - .idCampaign("Camp1") + .interrogationId("UE1100000001") + .questionnaireId("Quest1") + .campaignId("Camp1") .state(DataState.COLLECTED) .collectedVariables(List.of(collectedVariable1, collectedVariable2)) .externalVariables(List.of()) diff --git a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java index 305f5991..722bb3a6 100644 --- a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java +++ b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java @@ -52,15 +52,16 @@ static void init(){ surveyUnitDocumentStatic.setCollectedVariables(documentCollectedVariableList); List externalVariableDtoList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel variable = + VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); externalVariableDtoList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() - .idVar("TESTIDVAR") + .varId("TESTIDVAR") .values(List.of(new String[]{"V1", "V2"})) - .idLoop("TESTIDLOOP") - .idParent("TESTIDPARENT") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); @@ -185,7 +186,7 @@ void shouldReturnDocumentListFromDocumentDtoList(){ ).isNotEmpty(); Assertions.assertThat(surveyUnitDocumentList.getFirst().getCollectedVariables()).filteredOn(variableDocument -> - variableDocument.varId().equals("TESTIDVAR") + variableDocument.getVarId().equals("TESTIDVAR") && variableDocument.getValues().containsAll(List.of(new String[]{"V1", "V2"})) ).isNotEmpty(); } diff --git a/src/test/resources/features/do_we_save_loops.feature b/src/test/resources/features/do_we_save_loops.feature index 87a78d14..341e679e 100644 --- a/src/test/resources/features/do_we_save_loops.feature +++ b/src/test/resources/features/do_we_save_loops.feature @@ -7,7 +7,7 @@ Feature: Do we save loops ? When We save data from that directory When We delete that directory - Then For external variable "" in survey unit "" we should have "" as idLoop and "" as first value + Then For external variable "" in survey unit "" we should have "" as loopId and "" as first value Examples: | VariableName | InterrogationId | ExpectedIdLoop | ExpectedValue | | CODESA | AUTO11000 | TABESA_1 | AAA | From 0d9ab8002545339e006390e9a3fb985bd549f5cb Mon Sep 17 00:00:00 2001 From: QDIBYS Date: Wed, 5 Feb 2025 16:04:58 +0100 Subject: [PATCH 08/12] feat!: Iteration and value instead of iteration in loopId and values array --- .../controller/adapter/LunaticXmlAdapter.java | 14 +- .../model/surveyunit/VariableModel.java | 7 +- .../service/surveyunit/SurveyUnitService.java | 12 +- .../genesis/domain/utils/DataVerifier.java | 86 ++--- .../genesis/domain/utils/LoopIdentifier.java | 7 +- .../document/surveyunit/VariableDocument.java | 4 +- .../functional_tests/MainDefinitions.java | 142 ++------ .../adapter/LunaticXmlAdapterTest.java | 22 +- .../rest/HealthCheckControllerTest.java | 25 +- .../controller/rest/UtilsControllerTest.java | 48 ++- .../responses/ResponseControllerTest.java | 9 +- .../controller/rest/responses/Utils.java | 34 +- .../controller/utils/DataVerifierTest.java | 332 ------------------ .../controller/utils/LoopIdentifierTest.java | 12 +- .../model/surveyunit/SurveyUnitModelTest.java | 54 --- .../model/surveyunit/VariableModelTest.java | 27 -- .../domain/service/SurveyUnitServiceTest.java | 101 +++++- .../domain/utils/DataVerifierTest.java | 31 +- .../SurveyUnitDocumentMapperImplTest.java | 25 +- .../features/do_we_extract_data.feature | 27 +- .../features/do_we_save_loops.feature | 12 +- 21 files changed, 330 insertions(+), 701 deletions(-) delete mode 100644 src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java delete mode 100644 src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java delete mode 100644 src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableModelTest.java diff --git a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java index 020878b6..1803506d 100644 --- a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java +++ b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java @@ -119,14 +119,13 @@ private static SurveyUnitModel getCollectedDataFromSurveyUnit(LunaticXmlSurveyUn continue; //Go to next data } for (int i = 1; i <= valueTypeList.size(); i++) { - List variableValues = new ArrayList<>(); if (valueTypeList.get(i-1).getValue()!=null) { - variableValues.add(valueTypeList.get(i-1).getValue()); variableModels.add(VariableModel.builder() .varId(lunaticXmlCollectedData.getVariableName()) - .values(variableValues) - .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap, i)) + .value(valueTypeList.get(i-1).getValue()) + .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap)) .parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlCollectedData.getVariableName(), variablesMap)) + .iteration(i) .build()); dataCount++; } @@ -157,14 +156,13 @@ private static void getExternalDataFromSurveyUnit(LunaticXmlSurveyUnit su, Surve continue; //Go to next data } for (int i = 1; i <= valueTypeList.size(); i++) { - List variableValues = new ArrayList<>(); if (valueTypeList.get(i-1).getValue()!=null) { - variableValues.add(valueTypeList.get(i-1).getValue()); variableModels.add(VariableModel.builder() .varId(lunaticXmlExternalData.getVariableName()) - .values(variableValues) - .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlExternalData.getVariableName(), variablesMap, i)) + .value(valueTypeList.get(i-1).getValue()) + .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlExternalData.getVariableName(), variablesMap)) .parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlExternalData.getVariableName(), variablesMap)) + .iteration(i) .build()); } } diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java index 0814fc7f..f6e3704c 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java @@ -2,12 +2,11 @@ import lombok.Builder; -import java.util.List; - @Builder public record VariableModel( String varId, - List values, + String value, String loopId, - String parentId + String parentId, + Integer iteration ) {} diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index b2a99979..f0ef5e97 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -274,13 +274,11 @@ public List parseEditedVariables( for(VariableInputDto editedVariableDto : editedCollectedVariables){ VariableModel collectedVariable = VariableModel.builder() .varId(editedVariableDto.getVariableName()) - .values(new ArrayList<>()) + .value(editedVariableDto.getVariableStateInputDto().getValue()) .parentId(LoopIdentifier.getRelatedVariableName(editedVariableDto.getVariableName(), variablesMap)) .loopId(editedVariableDto.getLoopId()) .build(); - collectedVariable.values().add(editedVariableDto.getVariableStateInputDto().getValue()); - surveyUnitModel.getCollectedVariables().add(collectedVariable); } @@ -324,12 +322,12 @@ private void extractVariables(SurveyUnitModel surveyUnitModel, collectedVariableMap.put(loopIdTuple, variableDto); } //Extract variable state - if (!collectedVariable.values().isEmpty() && isMostRecentForSameState(surveyUnitModel, variableDto)) { + if (!collectedVariable.value().isEmpty() && isMostRecentForSameState(surveyUnitModel, variableDto)) { variableDto.getVariableStateDtoList().add( VariableStateDto.builder() .state(surveyUnitModel.getState()) .active(isLastVariableState(surveyUnitModel, variableDto)) - .value(collectedVariable.values().getFirst()) + .value(collectedVariable.value()) .date(surveyUnitModel.getRecordDate()) .build() ); @@ -353,12 +351,12 @@ private void extractVariables(SurveyUnitModel surveyUnitModel, externalVariableMap.put(loopIdTuple, variableDto); } //Extract variable state - if(!externalVariable.values().isEmpty() && isMostRecentForSameState(surveyUnitModel, variableDto)){ + if(!externalVariable.value().isEmpty() && isMostRecentForSameState(surveyUnitModel, variableDto)){ variableDto.getVariableStateDtoList().add( VariableStateDto.builder() .state(surveyUnitModel.getState()) .active(isLastVariableState(surveyUnitModel, variableDto)) - .value(externalVariable.values().getFirst()) + .value(externalVariable.value()) .date(surveyUnitModel.getRecordDate()) .build() ); diff --git a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java index 32d439a1..9b6365a8 100644 --- a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java +++ b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java @@ -87,7 +87,7 @@ private static SurveyUnitModel createForcedDto( newForcedSuDto.getCollectedVariables().add( VariableModel.builder() .varId(correctedCollectedVariable.varId()) - .values(correctedCollectedVariable.values()) + .value(correctedCollectedVariable.value()) .loopId(correctedCollectedVariable.loopId()) .parentId(correctedCollectedVariable.parentId()) .build() @@ -98,7 +98,7 @@ private static SurveyUnitModel createForcedDto( newForcedSuDto.getExternalVariables().add( VariableModel.builder() .varId(correctedExternalVariable.varId()) - .values(correctedExternalVariable.values()) + .value(correctedExternalVariable.value()) .loopId(correctedExternalVariable.loopId()) .parentId(correctedExternalVariable.parentId()) .build() @@ -124,20 +124,20 @@ private static Set getIdUEs(List suDtosList) { /** * Adds the collected variables for the FORCED document - * @param srcSuDtosOfIdUE source Survey Unit documents associated with IdUE + * @param srcSuModels source Survey Unit documents associated with IdUE * @param variablesMap variables definitions * @param correctedCollectedVariables FORCED document variables */ - private static void collectedVariablesManagement(List srcSuDtosOfIdUE, VariablesMap variablesMap, List correctedCollectedVariables){ + private static void collectedVariablesManagement(List srcSuModels, VariablesMap variablesMap, List correctedCollectedVariables){ Set variableNames = new HashSet<>(); List variablesToVerify = new ArrayList<>(); //Sort from more priority to less - List sortedSuDtos = srcSuDtosOfIdUE.stream().sorted(Comparator.comparing(surveyUnitDto -> dataStatesPriority.get(surveyUnitDto.getState()))).toList(); + List sortedSuModels = srcSuModels.stream().sorted(Comparator.comparing(surveyUnitDto -> dataStatesPriority.get(surveyUnitDto.getState()))).toList(); //Get more priority variables to verify - for(SurveyUnitModel srcSuDto : sortedSuDtos){ - for(VariableModel collectedVariable : srcSuDto.getCollectedVariables()){ + for(SurveyUnitModel surveyUnitModel : sortedSuModels){ + for(VariableModel collectedVariable : surveyUnitModel.getCollectedVariables()){ if(!variableNames.contains(collectedVariable.varId())){ variableNames.add(collectedVariable.varId()); variablesToVerify.add(collectedVariable); @@ -149,7 +149,7 @@ private static void collectedVariablesManagement(List srcSuDtos for(VariableModel collectedVariableToVerify : variablesToVerify){ if(variablesMap.hasVariable(collectedVariableToVerify.varId())) { - VariableModel correctedCollectedVariable = verifyCollectedVariable( + VariableModel correctedCollectedVariable = verifyVariable( collectedVariableToVerify, variablesMap.getVariable(collectedVariableToVerify.varId()) ); @@ -161,41 +161,32 @@ private static void collectedVariablesManagement(List srcSuDtos } } - private static VariableModel verifyCollectedVariable(VariableModel collectedVariable, fr.insee.bpm.metadata.model.Variable variableDefinition) { - List newValues = new ArrayList<>(); - boolean isInvalid = false; - - for (String value : collectedVariable.values()){ - if(isParseError(value, variableDefinition.getType())){ - isInvalid = true; - newValues.add(""); - }else{ - newValues.add(value); - } + private static VariableModel verifyVariable(VariableModel variableModel, fr.insee.bpm.metadata.model.Variable variableDefinition) { + if(isParseError(variableModel.value(), variableDefinition.getType())){ + return VariableModel.builder() + .varId(variableModel.varId()) + .value("") + .loopId(variableModel.loopId()) + .parentId(variableModel.parentId()) + .iteration(variableModel.iteration()) + .build(); } - - - return isInvalid ? VariableModel.builder() - .varId(collectedVariable.varId()) - .values(newValues) - .loopId(collectedVariable.loopId()) - .parentId(collectedVariable.parentId()) - .build() : null; + return null; } - private static void externalVariablesManagement(List srcSuDtosOfIdUE, VariablesMap variablesMap, List correctedExternalVariables) { + private static void externalVariablesManagement(List srcSuModels, VariablesMap variablesMap, List correctedExternalVariables) { //COLLECTED only - Optional collectedSuDtoOpt = srcSuDtosOfIdUE.stream().filter( + Optional surveyUnitModelOptional = srcSuModels.stream().filter( suDto -> suDto.getState().equals(DataState.COLLECTED) ).findFirst(); //Verify variables - if(collectedSuDtoOpt.isPresent()){ - for(VariableModel variable: collectedSuDtoOpt.get().getExternalVariables()){ - if(variablesMap.hasVariable(variable.varId())) { - VariableModel correctedExternalVariable = verifyExternalVariable( - variable, - variablesMap.getVariable(variable.varId()) + if(surveyUnitModelOptional.isPresent()){ + for(VariableModel externalVariable: surveyUnitModelOptional.get().getExternalVariables()){ + if(variablesMap.hasVariable(externalVariable.varId())) { + VariableModel correctedExternalVariable = verifyVariable( + externalVariable, + variablesMap.getVariable(externalVariable.varId()) ); if (correctedExternalVariable != null) { correctedExternalVariables.add(correctedExternalVariable); @@ -205,31 +196,6 @@ private static void externalVariablesManagement(List srcSuDtosO } } - /** - * Verify one external variable - * @param externalVariable external variable DTO to verify - * @param variableDefinition variable definition of the variable - * @return a corrected external variable if there is any parsing error, null otherwise - */ - private static VariableModel verifyExternalVariable(VariableModel externalVariable, fr.insee.bpm.metadata.model.Variable variableDefinition) { - List newValues = new ArrayList<>(); - boolean isInvalid = false; - - for (String value : externalVariable.values()){ - if(isParseError(value, variableDefinition.getType())){ - isInvalid = true; - newValues.add(""); - }else{ - newValues.add(value); - } - } - - return isInvalid ? VariableModel.builder() - .varId(externalVariable.varId()) - .values(newValues) - .build() : null; - } - /** * Use the correct parser and try to parse * @param value value to verify diff --git a/src/main/java/fr/insee/genesis/domain/utils/LoopIdentifier.java b/src/main/java/fr/insee/genesis/domain/utils/LoopIdentifier.java index eb0d77e1..994d2036 100644 --- a/src/main/java/fr/insee/genesis/domain/utils/LoopIdentifier.java +++ b/src/main/java/fr/insee/genesis/domain/utils/LoopIdentifier.java @@ -15,7 +15,7 @@ private LoopIdentifier() { throw new IllegalStateException("Utility class"); } - public static String getLoopIdentifier(String variableName, VariablesMap variablesMap, int index) { + public static String getLoopIdentifier(String variableName, VariablesMap variablesMap) { Variable variable = variablesMap.getVariable(variableName); if (variable == null) { if(variableName.startsWith(Constants.FILTER_RESULT_PREFIX) @@ -31,10 +31,7 @@ public static String getLoopIdentifier(String variableName, VariablesMap variabl log.debug("Variable {} not found in variablesMap and assigned in root group", variableName); return Constants.ROOT_GROUP_NAME; } - if (variable.getGroup().isRoot()) { - return variable.getGroup().getName(); - } - return String.format("%s_%d", variable.getGroup().getName() ,index); + return variable.getGroup().getName(); } private static String getRelatedVariableGroupName(VariablesMap variablesMap, String variableName, String constantToReplace) { diff --git a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableDocument.java b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableDocument.java index c093d41d..f8eaa88e 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableDocument.java +++ b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableDocument.java @@ -2,7 +2,6 @@ import java.io.Serial; import java.io.Serializable; -import java.util.List; import lombok.Data; @@ -14,5 +13,6 @@ public class VariableDocument implements Serializable { private String varId; private String loopId; private String parentId; - private List values; + private String value; + private Integer iteration; } \ No newline at end of file diff --git a/src/test/java/cucumber/functional_tests/MainDefinitions.java b/src/test/java/cucumber/functional_tests/MainDefinitions.java index f8bd35cd..9c3a6e51 100644 --- a/src/test/java/cucumber/functional_tests/MainDefinitions.java +++ b/src/test/java/cucumber/functional_tests/MainDefinitions.java @@ -14,8 +14,8 @@ import fr.insee.genesis.controller.utils.ControllerUtils; import fr.insee.genesis.domain.model.surveyunit.DataState; import fr.insee.genesis.domain.model.surveyunit.Mode; -import fr.insee.genesis.domain.model.surveyunit.VariableModel; import fr.insee.genesis.domain.model.surveyunit.SurveyUnitModel; +import fr.insee.genesis.domain.model.surveyunit.VariableModel; import fr.insee.genesis.domain.service.rawdata.LunaticJsonRawDataService; import fr.insee.genesis.domain.service.rawdata.LunaticXmlRawDataService; import fr.insee.genesis.domain.service.surveyunit.SurveyUnitQualityService; @@ -28,7 +28,6 @@ import fr.insee.genesis.stubs.SurveyUnitPersistencePortStub; import io.cucumber.java.After; import io.cucumber.java.Before; -import io.cucumber.java.en.And; import io.cucumber.java.en.Given; import io.cucumber.java.en.Then; import io.cucumber.java.en.When; @@ -45,7 +44,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -import java.util.Optional; public class MainDefinitions { String directory; @@ -145,135 +143,63 @@ public void check_unexpected_datastate_dto(String surveyUnitId, String unexpecte ).isEmpty(); } - @Then("We should have a {string} DTO for survey unit {string} with {string} filled with {string} at index {int}") - public void check_survey_unit_dto_content(String dataState, String surveyUnitId, String variableName, String expectedValue, int expectedIndex) { - //Get DTO - Assertions.assertThat(this.surveyUnitModels).filteredOn(surveyUnitDto -> - surveyUnitDto.getState().toString().equals(dataState) - && surveyUnitDto.getInterrogationId().equals(surveyUnitId) - ).isNotEmpty(); - - Optional concernedSurveyUnitModelOptional = this.surveyUnitModels.stream().filter(dto -> + @Then("We should have a {string} DTO for survey unit {string} with {string} filled with {string} for iteration " + + "{int}") + public void check_survey_unit_dto_content(String dataState, String surveyUnitId, String variableName, + String expectedValue, int iteration) { + //Get model + List concernedSurveyUnitModels = this.surveyUnitModels.stream().filter(dto -> dto.getState().toString().equals(dataState) && dto.getInterrogationId().equals(surveyUnitId) - ).findFirst(); - - Assertions.assertThat(concernedSurveyUnitModelOptional).isPresent(); + ).toList(); - SurveyUnitModel concernedSurveyUnitModel = concernedSurveyUnitModelOptional.get(); + Assertions.assertThat(concernedSurveyUnitModels).isNotEmpty(); + SurveyUnitModel concernedSurveyUnitModel = concernedSurveyUnitModels.getFirst(); //Get Variable - Assertions.assertThat(concernedSurveyUnitModel.getCollectedVariables()).filteredOn(collectedvariableModel -> - collectedvariableModel.varId().equals(variableName)).isNotEmpty(); - - Optional concernedCollectedVariableOptional = concernedSurveyUnitModel.getCollectedVariables().stream().filter(variable -> - variable.varId().equals(variableName) - ).findFirst(); + List concernedCollectedVariables = + concernedSurveyUnitModel.getCollectedVariables().stream().filter(variable -> + variable.varId().equals(variableName) + && variable.iteration().equals(iteration) + ).toList(); - Assertions.assertThat(concernedCollectedVariableOptional).isPresent(); + Assertions.assertThat(concernedCollectedVariables).isNotEmpty().hasSize(1); - VariableModel concernedCollectedVariable = concernedCollectedVariableOptional.get(); + VariableModel concernedCollectedVariable = concernedCollectedVariables.getFirst(); //Value assertion - Assertions.assertThat(concernedCollectedVariable.values()).hasSizeGreaterThan(expectedIndex); - - Assertions.assertThat(concernedCollectedVariable.values().get(expectedIndex)).isEqualTo(expectedValue); + Assertions.assertThat(concernedCollectedVariable.value()).isEqualTo(expectedValue); } - @Then("We should have {int} values for external variable {string} for survey unit {string}") - public void external_variable_volumetric_check(int expectedNumberOfValues, String externalVariableName, - String interrogationId) { - //Get SurveyUnitModel - Assertions.assertThat(surveyUnitPersistence.getMongoStub()).filteredOn(surveyUnitModel -> - surveyUnitModel.getState().equals(DataState.COLLECTED) - && surveyUnitModel.getInterrogationId().equals(interrogationId) - ).isNotEmpty().hasSize(1); - - SurveyUnitModel surveyUnitModel = surveyUnitPersistence.getMongoStub().stream().filter(surveyUnitModel1 -> - surveyUnitModel1.getState().equals(DataState.COLLECTED) - && surveyUnitModel1.getInterrogationId().equals(interrogationId) - ).toList().getFirst(); - - //Get Variable - Assertions.assertThat(surveyUnitModel.getExternalVariables()).filteredOn(variableModel -> - variableModel.varId().equals(externalVariableName)).isNotEmpty(); - - Optional concernedVariableOptional = surveyUnitModel.getExternalVariables().stream().filter(variable -> - variable.varId().equals(externalVariableName) - ).findFirst(); - - Assertions.assertThat(concernedVariableOptional).isPresent(); - - VariableModel concernedVariable = concernedVariableOptional.get(); - - //Values count assertion - Assertions.assertThat(concernedVariable.values()).hasSize(expectedNumberOfValues); - - } - - @And("For external variable {string} in survey unit {string} we should have {string} and loopId {string}") + @Then("For external variable {string} in survey unit {string} we should have {string} and loopId {string} for " + + "iteration {int}") public void forExternalVariableInSurveyUnitWeShouldHaveForLoop(String externalVariableName, String interrogationId, String expectedValue, - String expectedLoopId) { + String expectedLoopId, + Integer iteration + ) { //Get SurveyUnitModel - Assertions.assertThat(surveyUnitPersistence.getMongoStub()).filteredOn(surveyUnitDto -> - surveyUnitDto.getState().equals(DataState.COLLECTED) - && surveyUnitDto.getInterrogationId().equals(interrogationId) - ).isNotEmpty().hasSize(1); - - SurveyUnitModel surveyUnitModel = surveyUnitPersistence.getMongoStub().stream().filter(dto -> + List concernedSurveyUnitModels = surveyUnitPersistence.getMongoStub().stream().filter(dto -> dto.getState().equals(DataState.COLLECTED) && dto.getInterrogationId().equals(interrogationId) - ).toList().getFirst(); - - //Get Variable - Assertions.assertThat(surveyUnitModel.getExternalVariables()).filteredOn(variableModel -> - variableModel.varId().equals(externalVariableName) - && Objects.equals(variableModel.loopId(), expectedLoopId) - ).isNotEmpty().hasSize(1); - - VariableModel concernedExternalVariable = surveyUnitModel.getExternalVariables().stream().filter(variableModel -> - variableModel.varId().equals(externalVariableName) - && Objects.equals(variableModel.loopId(), expectedLoopId) - ).toList().getFirst(); + ).toList(); + Assertions.assertThat(concernedSurveyUnitModels).hasSize(1); - //Value content assertion - Assertions.assertThat(concernedExternalVariable.values()).hasSize(1); - Assertions.assertThat(concernedExternalVariable.values().getFirst()).isEqualTo(expectedValue); - Assertions.assertThat(concernedExternalVariable.loopId()).isNotNull().isEqualTo(expectedLoopId); - } - - @Then("For external variable {string} in survey unit {string} we should have {string} as loopId and {string} as first " + - "value") - public void check_loopId_and_value(String externalVariableName, String interrogationId, String expectedLoopId, - String expectedValue) { - //Get SurveyUnitModel - Assertions.assertThat(surveyUnitPersistence.getMongoStub()).filteredOn(surveyUnitDto -> - surveyUnitDto.getState().equals(DataState.COLLECTED) - && surveyUnitDto.getInterrogationId().equals(interrogationId) - ).isNotEmpty().hasSize(1); - - SurveyUnitModel surveyUnitModel = surveyUnitPersistence.getMongoStub().stream().filter(dto -> - dto.getState().equals(DataState.COLLECTED) - && dto.getInterrogationId().equals(interrogationId) - ).toList().getFirst(); + SurveyUnitModel surveyUnitModel = concernedSurveyUnitModels.getFirst(); //Get Variable - Assertions.assertThat(surveyUnitModel.getExternalVariables()).filteredOn(variableModel -> + List concernedExternalVariables = + surveyUnitModel.getExternalVariables().stream().filter(variableModel -> variableModel.varId().equals(externalVariableName) - && Objects.equals(variableModel.loopId(), expectedLoopId) - ).isNotEmpty().hasSize(1); - - VariableModel concernedExternalVariable = surveyUnitModel.getExternalVariables().stream().filter(variableModel -> - variableModel.varId().equals(externalVariableName) && Objects.equals(variableModel.loopId(), expectedLoopId) - ).toList().getFirst(); + && variableModel.iteration().equals(iteration) + ).toList(); + + VariableModel variableModel = concernedExternalVariables.getFirst(); //Value content assertion - Assertions.assertThat(concernedExternalVariable.loopId()).isNotNull().isEqualTo(expectedLoopId); - Assertions.assertThat(concernedExternalVariable.values()).hasSize(1); - Assertions.assertThat(concernedExternalVariable.values().getFirst()).isEqualTo(expectedValue); + Assertions.assertThat(variableModel.value()).isEqualTo(expectedValue); } @After diff --git a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java index 2e34310f..63aedf6c 100644 --- a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java +++ b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java @@ -269,7 +269,8 @@ void test05() { //Content check for (VariableModel collectedVariable : editedDTO.get().getCollectedVariables()) { - Assertions.assertThat(collectedVariable.values()).containsAnyOf("1e", "2e").doesNotContain("1", "2"); + Assertions.assertThat(collectedVariable.value()).containsAnyOf("1e","2e").isNotEqualTo("1").isNotEqualTo( + "2"); } } @@ -366,12 +367,17 @@ void test11(){ Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> collectedVariableDto.varId().equals("var1")).isNotEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.loopId().equals("BOUCLE1_1")).isEmpty(); + collectedVariableDto.loopId().equals("BOUCLE1") + && collectedVariableDto.iteration().equals(1) + ).isEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.loopId().equals("BOUCLE1_2")).toList().getFirst().values().getFirst()).isEqualTo("1"); + collectedVariableDto.loopId().equals("BOUCLE1") + && collectedVariableDto.iteration().equals(2) + ).toList().getFirst().value()).isEqualTo("1"); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.loopId().equals("BOUCLE1_3")).toList().getFirst().values().getFirst()).isEqualTo("2"); - + collectedVariableDto.loopId().equals("BOUCLE1") + && collectedVariableDto.iteration().equals(3) + ).toList().getFirst().value()).isEqualTo("2"); } @Test @@ -384,9 +390,9 @@ void test12(){ Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).isEmpty(); Assertions.assertThat(suDtos.getFirst().getExternalVariables()).hasSize(1); Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().varId()).isEqualTo("extvar1"); - Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().values()).hasSize(1); - Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().values().getFirst()).isEqualTo("ext"); - Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().loopId()).isEqualTo(LOOP_NAME+"_1"); + Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().value()).isEqualTo("ext"); + Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().loopId()).isEqualTo(LOOP_NAME); + Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().iteration()).isEqualTo(1); Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); } } diff --git a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java index 610b024b..86527ab6 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java @@ -30,18 +30,35 @@ static void init() { surveyUnitPersistencePortStub = new SurveyUnitPersistencePortStub(); SurveyUnitApiPort surveyUnitApiPort = new SurveyUnitService(surveyUnitPersistencePortStub); List externalVariableList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel variable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V1") + .iteration(1) + .build(); + externalVariableList.add(variable); + variable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .iteration(2) + .build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) + .build(); + collectedVariableList.add(collectedVariable); + collectedVariable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") + .iteration(2) .build(); - - collectedVariableList.add(collectedVariable); surveyUnitPersistencePortStub.getMongoStub().add(SurveyUnitModel.builder() .campaignId("TESTIDCAMPAIGN") diff --git a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java index ac3bc773..a22e2216 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java @@ -60,18 +60,37 @@ void reset() throws IOException { surveyUnitPersistencePortStub.getMongoStub().clear(); List externalVariableList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel variable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V1") + .iteration(1) + .build(); + externalVariableList.add(variable); + variable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .iteration(2) + .build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) + .build(); + collectedVariableList.add(collectedVariable); + collectedVariable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") + .iteration(2) .build(); - collectedVariableList.add(collectedVariable); + surveyUnitPersistencePortStub.getMongoStub().add(SurveyUnitModel.builder() .campaignId("TESTIDCAMPAIGN") .mode(Mode.WEB) @@ -353,15 +372,34 @@ private void addAdditionalDtoToMongoStub(String idQuestionnaire) { private void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnaire) { List externalVariableList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel variable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V1") + .iteration(1) + .build(); + externalVariableList.add(variable); + variable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .iteration(2) + .build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") + .iteration(1) + .build(); + collectedVariableList.add(collectedVariable); + collectedVariable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(2) .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java index 06c20580..c3219d82 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java @@ -438,8 +438,7 @@ void saveEditedTest() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().varId()).isEqualTo(varId); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().values()).hasSize(1); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().values().getFirst()).isEqualTo(editedValue); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().value()).isEqualTo(editedValue); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getModifiedBy()).isNull(); } @@ -504,8 +503,7 @@ void saveEditedTest_DocumentEdited() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().varId()).isEqualTo(varId); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().values()).hasSize(1); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().values().getFirst()).isEqualTo(editedValue); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().value()).isEqualTo(editedValue); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getModifiedBy()).isNull(); } @@ -570,8 +568,7 @@ void saveEditedTest_DocumentForced() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().varId()).isEqualTo(varId2); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().values()).hasSize(1); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().values().getFirst()).isNotNull().isEmpty(); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().value()).isNotNull().isEmpty(); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getModifiedBy()).isNull(); } @Test diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java index e1cd028a..dfca09f2 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java @@ -184,18 +184,35 @@ static void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnair LocalDateTime fileDate, LocalDateTime recordDate, SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) { List externalVariableList = new ArrayList<>(); - VariableModel externalVariable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel externalVariable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V1") + .iteration(1) + .build(); + externalVariableList.add(externalVariable); + externalVariable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .iteration(2) + .build(); externalVariableList.add(externalVariable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) + .build(); + collectedVariableList.add(collectedVariable); + collectedVariable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") + .iteration(2) .build(); - - collectedVariableList.add(collectedVariable); SurveyUnitModel recentDTO = SurveyUnitModel.builder() @@ -221,15 +238,20 @@ static void addAdditionalDtoToMongoStub(DataState state, LocalDateTime recordDate, SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) { List externalVariableList = new ArrayList<>(); - VariableModel variable = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); + VariableModel variable = VariableModel.builder() + .varId("TESTIDVAR") + .value(externalVariableValue) + .iteration(1) + .build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{collectedVariableValue})) + .value(collectedVariableValue) .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java deleted file mode 100644 index 0dcb182d..00000000 --- a/src/test/java/fr/insee/genesis/controller/utils/DataVerifierTest.java +++ /dev/null @@ -1,332 +0,0 @@ -package fr.insee.genesis.controller.utils; - - -import fr.insee.bpm.metadata.model.MetadataModel; -import fr.insee.bpm.metadata.model.VariableType; -import fr.insee.bpm.metadata.model.VariablesMap; -import fr.insee.genesis.domain.model.surveyunit.DataState; -import fr.insee.genesis.domain.model.surveyunit.Mode; -import fr.insee.genesis.domain.model.surveyunit.SurveyUnitModel; -import fr.insee.genesis.domain.model.surveyunit.VariableModel; -import fr.insee.genesis.domain.utils.DataVerifier; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -import static org.assertj.core.api.Assertions.assertThat; - -class DataVerifierTest { - static List testSurveyUnitModels = new ArrayList<>(); - static MetadataModel metadataModel; - - // Given - @BeforeAll - static void setUp() { - //Variable definitions - metadataModel = new MetadataModel(); - - //Invalid Collected Variables only - //1 Variable 1 State 1 Value - createCase(1,1,1,true,false,"TestUE1", testSurveyUnitModels,metadataModel.getVariables()); - - //1 Variable 1 State 2 Values - createCase(1,1,2,true,false,"TestUE2", testSurveyUnitModels,metadataModel.getVariables()); - - //1 Variable 2 States 1 Value - createCase(1,2,1,true,false,"TestUE3", testSurveyUnitModels,metadataModel.getVariables()); - - //1 Variable 2 States 2 Values - createCase(1,2,2,true,false,"TestUE4", testSurveyUnitModels,metadataModel.getVariables()); - - //2 Variables 1 State 1 Value - createCase(2,1,1,true,false,"TestUE5", testSurveyUnitModels,metadataModel.getVariables()); - - //2 Variables 1 State 2 Values - createCase(2,1,2,true,false,"TestUE6", testSurveyUnitModels,metadataModel.getVariables()); - - //2 Variables 2 States 1 Value - createCase(2,2,1,true,false,"TestUE7", testSurveyUnitModels,metadataModel.getVariables()); - - //2 Variables 2 State 2 Value - createCase(2,2,2,true,false,"TestUE8", testSurveyUnitModels,metadataModel.getVariables()); - - - //With invalid ExternalVariables - createCase(1,1,1,true,true,"TestUE9", testSurveyUnitModels,metadataModel.getVariables()); - - //1 Variable 1 State 2 Values - createCase(1,1,2,true,true,"TestUE10", testSurveyUnitModels,metadataModel.getVariables()); - - //1 Variable 2 States 1 Value - createCase(1,2,1,true,true,"TestUE11", testSurveyUnitModels,metadataModel.getVariables()); - - //1 Variable 2 States 2 Values - createCase(1,2,2,true,true,"TestUE12", testSurveyUnitModels,metadataModel.getVariables()); - - //2 Variables 1 State 1 Value - createCase(2,1,1,true,true,"TestUE13", testSurveyUnitModels,metadataModel.getVariables()); - - //2 Variables 1 State 2 Values - createCase(2,1,2,true,true,"TestUE14", testSurveyUnitModels,metadataModel.getVariables()); - - //2 Variables 2 States 1 Value - createCase(2,2,1,true,true,"TestUE15", testSurveyUnitModels,metadataModel.getVariables()); - - //2 Variables 2 State 2 Value - createCase(2,2,2,true,true,"TestUE16", testSurveyUnitModels,metadataModel.getVariables()); - - - //Valid variables only - createCase(1,1,1,false,true,"TestUE17", testSurveyUnitModels,metadataModel.getVariables()); - createCase(2,2,2,false,true,"TestUE18", testSurveyUnitModels,metadataModel.getVariables()); - - //Manual modifications - //Valid 2nd variable on 5th and 13th case - SurveyUnitModel suDto = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getInterrogationId().equals("TestUE5") - ).toList().getFirst(); - - suDto.getCollectedVariables().get(1).values().set(0,"1"); - - suDto = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getInterrogationId().equals("TestUE13") - ).toList().getFirst(); - - suDto.getCollectedVariables().get(1).values().set(0,"1"); - suDto.getExternalVariables().get(1).values().set(0,"1"); - - - //Valid EDITED variables on 3rd and 7th case for priority test - SurveyUnitModel suDtoEdited = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getInterrogationId().equals("TestUE3") - && surveyUnitDto.getState().equals(DataState.EDITED) - ).toList().getFirst(); - - suDtoEdited.getCollectedVariables().getFirst().values().set(0,"1"); - - suDtoEdited = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getInterrogationId().equals("TestUE7") - && surveyUnitDto.getState().equals(DataState.EDITED) - ).toList().getFirst(); - - suDtoEdited.getCollectedVariables().get(0).values().set(0,"1"); - suDtoEdited.getCollectedVariables().get(1).values().set(0,"1"); - - //Remove EDITED variable on 8th case - suDtoEdited = testSurveyUnitModels.stream().filter(surveyUnitDto -> - surveyUnitDto.getInterrogationId().equals("TestUE8") - && surveyUnitDto.getState().equals(DataState.EDITED) - ).toList().getFirst(); - - suDtoEdited.getCollectedVariables().remove(1); - - //When - DataVerifier.verifySurveyUnits(testSurveyUnitModels,metadataModel.getVariables()); - } - - private static void createCase(int variableNumber, int stateNumber, int valueNumber, boolean hasIncorrectValues, boolean hasExternalVariables, String idUE, List testSurveyUnitModels, VariablesMap variablesMap) { - for(int stateIndex = 0; stateIndex < stateNumber; stateIndex++){ - List collectedVariables = new ArrayList<>(); - List externalVariables = new ArrayList<>(); - - for(int variableIndex = 0; variableIndex < variableNumber; variableIndex++){ - List values = new ArrayList<>(); - - if(!variablesMap.hasVariable("testInteger" + variableIndex)) { - fr.insee.bpm.metadata.model.Variable varTest = new fr.insee.bpm.metadata.model.Variable("testInteger" + variableIndex, metadataModel.getRootGroup(), VariableType.INTEGER, "10"); - variablesMap.putVariable(varTest); - } - - for(int valueIndex = 0; valueIndex < valueNumber; valueIndex++){ - values.add(hasIncorrectValues - && valueIndex % 2 == 0 // Only 1 wrong value if multiple - ? "?" : String.valueOf(valueIndex + 1)); - } - - collectedVariables.add(VariableModel.builder() - .varId("testInteger" + variableIndex) - .values(new ArrayList<>(values)) - .build() - ); - - if(hasExternalVariables){ - externalVariables.add(VariableModel.builder() - .varId("testInteger" + variableIndex) - .values(new ArrayList<>(values)) - .build() - ); - } - } - - SurveyUnitModel surveyUnitModel = SurveyUnitModel.builder() - .questionnaireId("IdQuest1") - .campaignId("IdCampaign1") - .interrogationId(idUE) - .state(stateIndex % 2 == 0 ? DataState.COLLECTED : DataState.EDITED) - .mode(Mode.WEB) - .recordDate(LocalDateTime.now()) - .collectedVariables(new ArrayList<>(collectedVariables)) - .externalVariables(new ArrayList<>(externalVariables)) - .build(); - - collectedVariables.clear(); - externalVariables.clear(); - - testSurveyUnitModels.add(surveyUnitModel); - } - } - - //Then - //Assertions - private void assertForcedExistence(List testSurveyUnitModels, String idUE, boolean hasToExist) { - if(hasToExist) - assertThat(testSurveyUnitModels).filteredOn(surveyUnit -> - surveyUnit.getInterrogationId().equals(idUE) - && surveyUnit.getState() == DataState.FORCED) - .hasSize(1); - else - assertThat(testSurveyUnitModels).filteredOn(surveyUnit -> - surveyUnit.getInterrogationId().equals(idUE) - && surveyUnit.getState() == DataState.FORCED) - .isEmpty(); - } - - private void assertCollectedVariableContent(List testSurveyUnitModels, String idUE, String variableName, int valueIndex, String expectedContent) { - assertForcedExistence(testSurveyUnitModels,idUE,true); - - Optional suDtoOpt = testSurveyUnitModels.stream().filter(surveyUnit -> - surveyUnit.getInterrogationId().equals(idUE) - && surveyUnit.getState() == DataState.FORCED).findFirst(); - - assertThat(suDtoOpt).isPresent(); - - - SurveyUnitModel suDto = suDtoOpt.get(); - - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.varId().equals(variableName) - )).isNotEmpty(); - - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.varId().equals(variableName) - ).findFirst()).isPresent(); - - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.varId().equals(variableName) - ).findFirst().get().values().get(valueIndex)).isEqualTo(expectedContent); - } - - private void assertForcedCollectedVariableExistence(List testSurveyUnitModels, String idUE, String variableName, boolean hasToExist) { - assertForcedExistence(testSurveyUnitModels,idUE, true); - Optional suDtoOpt = testSurveyUnitModels.stream().filter(surveyUnit -> - surveyUnit.getInterrogationId().equals(idUE) - && surveyUnit.getState() == DataState.FORCED).findFirst(); - assertThat(suDtoOpt).isPresent(); - - SurveyUnitModel suDto = suDtoOpt.get(); - - if(hasToExist) - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.varId().equals(variableName)).toList()).isNotEmpty(); - else - assertThat(suDto.getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.varId().equals(variableName)).toList()).isEmpty(); - } - - private void assertForcedExternalVariableExistence(List testSurveyUnitModels, String idUE, String variableName, boolean hasToExist) { - assertForcedExistence(testSurveyUnitModels,idUE, true); - Optional suDtoOpt = testSurveyUnitModels.stream().filter(surveyUnit -> - surveyUnit.getInterrogationId().equals(idUE) - && surveyUnit.getState() == DataState.FORCED).findFirst(); - assertThat(suDtoOpt).isPresent(); - - SurveyUnitModel suDto = suDtoOpt.get(); - - if(hasToExist) - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.varId().equals(variableName)).toList()).isNotEmpty(); - else - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> variableDto.varId().equals(variableName)).toList()).isEmpty(); - } - - private void assertExternalVariableContent(List testSurveyUnitModels, String idUE, String variableName, int valueIndex, String expectedContent) { - assertForcedExistence(testSurveyUnitModels,idUE,true); - - Optional suDtoOpt = testSurveyUnitModels.stream().filter(surveyUnit -> - surveyUnit.getInterrogationId().equals(idUE) - && surveyUnit.getState() == DataState.FORCED).findFirst(); - - assertThat(suDtoOpt).isPresent(); - - - SurveyUnitModel suDto = suDtoOpt.get(); - - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.varId().equals(variableName) - )).isNotEmpty(); - - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.varId().equals(variableName) - ).findFirst()).isPresent(); - - assertThat(suDto.getExternalVariables().stream().filter(variableDto -> - variableDto.varId().equals(variableName) - ).findFirst().get().values().get(valueIndex)).isEqualTo(expectedContent); - } - - //Tests - @Test - @DisplayName("If there is invalid values, there must be one FORCED document") - void forcedExistenceTest(){ - assertForcedExistence(testSurveyUnitModels, "TestUE1", true); - } - - @Test - @DisplayName("If there is no invalid values, there must be one FORCED document") - void forcedNoExistenceTest(){ - assertForcedExistence(testSurveyUnitModels, "TestUE17", false); - } - - @Test - @DisplayName("The invalid values must be replaced by empty string") - void invalidValueReplaceTest(){ - assertCollectedVariableContent(testSurveyUnitModels,"TestUE1","testInteger0",0,""); - assertCollectedVariableContent(testSurveyUnitModels,"TestUE2","testInteger0",0,""); - assertCollectedVariableContent(testSurveyUnitModels,"TestUE6","testInteger0",0,""); - - assertExternalVariableContent(testSurveyUnitModels,"TestUE9","testInteger0",0,""); - assertExternalVariableContent(testSurveyUnitModels,"TestUE10","testInteger0",0,""); - assertExternalVariableContent(testSurveyUnitModels,"TestUE14","testInteger0",0,""); - - } - - @Test - @DisplayName("The FORCED document must contain only the invalid variables") - void variableCountTest(){ - //Collected - //5 à 8 - assertForcedCollectedVariableExistence(testSurveyUnitModels, "TestUE5", "testInteger0", true); - assertForcedCollectedVariableExistence(testSurveyUnitModels, "TestUE5", "testInteger1", false); - - //External - //13 à 16 - assertForcedExternalVariableExistence(testSurveyUnitModels, "TestUE13", "testInteger0", true); - assertForcedExternalVariableExistence(testSurveyUnitModels, "TestUE13", "testInteger1", false); - } - - @Test - @DisplayName("The dataverifier must verify only the most priority variables") - void priorityTest(){ - assertForcedExistence(testSurveyUnitModels, "TestUE3",false); - assertForcedExistence(testSurveyUnitModels, "TestUE7",false); - } - - @Test - @DisplayName("If a variable is absent in more priority variable but invalid in less priority," + - "the variable must be present in FORCED") - void priorityVariableAbsenceTest(){ - assertForcedCollectedVariableExistence(testSurveyUnitModels,"TestUE8","testInteger1",true); - } -} diff --git a/src/test/java/fr/insee/genesis/controller/utils/LoopIdentifierTest.java b/src/test/java/fr/insee/genesis/controller/utils/LoopIdentifierTest.java index 42175d75..c4e2da6e 100644 --- a/src/test/java/fr/insee/genesis/controller/utils/LoopIdentifierTest.java +++ b/src/test/java/fr/insee/genesis/controller/utils/LoopIdentifierTest.java @@ -29,24 +29,24 @@ void setUp() { } @Test - @DisplayName("Should return _2") + @DisplayName("Should return ") void test01() { //When + Then - Assertions.assertThat(LoopIdentifier.getLoopIdentifier("var1", metadataModel.getVariables(), 2)).isEqualTo(String.format("%s_2",LOOP_NAME)); + Assertions.assertThat(LoopIdentifier.getLoopIdentifier("var1", metadataModel.getVariables())).isEqualTo(LOOP_NAME); } @Test @DisplayName("Should return the root group name") void test02() { //When + Then - Assertions.assertThat(LoopIdentifier.getLoopIdentifier("var2", metadataModel.getVariables(), 1)).isEqualTo(Constants.ROOT_GROUP_NAME); + Assertions.assertThat(LoopIdentifier.getLoopIdentifier("var2", metadataModel.getVariables())).isEqualTo(Constants.ROOT_GROUP_NAME); } @Test @DisplayName("Should return the root group name if the variable is not present in the variables map") void test03(){ //When + Then - Assertions.assertThat(LoopIdentifier.getLoopIdentifier("var3", metadataModel.getVariables(), 2)).isEqualTo(Constants.ROOT_GROUP_NAME); + Assertions.assertThat(LoopIdentifier.getLoopIdentifier("var3", metadataModel.getVariables())).isEqualTo(Constants.ROOT_GROUP_NAME); } @Test @@ -67,7 +67,7 @@ void test05(){ @DisplayName("Should return var1 group if missing suffix") void test06(){ //When + Then - Assertions.assertThat(LoopIdentifier.getLoopIdentifier("var1_MISSING", metadataModel.getVariables(),1)).isEqualTo(LOOP_NAME); + Assertions.assertThat(LoopIdentifier.getLoopIdentifier("var1_MISSING", metadataModel.getVariables())).isEqualTo(LOOP_NAME); } @Test @@ -81,7 +81,7 @@ void test07(){ @DisplayName("Should return var1 group if filter result prefix") void test08(){ //When + Then - Assertions.assertThat(LoopIdentifier.getLoopIdentifier("FILTER_RESULT_var1", metadataModel.getVariables(),1)).isEqualTo(LOOP_NAME); + Assertions.assertThat(LoopIdentifier.getLoopIdentifier("FILTER_RESULT_var1", metadataModel.getVariables())).isEqualTo(LOOP_NAME); } @Test diff --git a/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java b/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java deleted file mode 100644 index 2edd12ed..00000000 --- a/src/test/java/fr/insee/genesis/domain/model/surveyunit/SurveyUnitModelTest.java +++ /dev/null @@ -1,54 +0,0 @@ -package fr.insee.genesis.domain.model.surveyunit; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Test; -import org.junit.jupiter.api.Assertions; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; - -public class SurveyUnitModelTest { - @Test - public void toJSONTest() throws JsonProcessingException { - List externalVariableList = new ArrayList<>(); - VariableModel externalVariable = VariableModel.builder() - .varId("TESTIDVAREXT") - .values(List.of(new String[]{"V1","V2"})) - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") - .build(); - externalVariableList.add(externalVariable); - - List collectedVariableList = new ArrayList<>(); - VariableModel collectedVariable = VariableModel.builder() - .varId("TESTIDVAR") - .values(List.of(new String[]{"V1","V2"})) - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") - .build(); - collectedVariableList.add(collectedVariable); - - SurveyUnitModel surveyUnitModel = SurveyUnitModel.builder() - .campaignId("TESTIDCAMPAIGN") - .questionnaireId("TESTIDQUEST") - .interrogationId("TESTIDUE") - .mode(Mode.WEB) - .state(DataState.COLLECTED) - .fileDate(LocalDateTime.of(2000,1,1,0,0,0)) - .recordDate(LocalDateTime.of(2000,1,1,0,0,0)) - .collectedVariables(collectedVariableList) - .externalVariables(externalVariableList) - .build(); - - Assertions.assertNotNull(surveyUnitModel); - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); - Assertions.assertEquals( - objectMapper.readTree("{\"questionnaireId\":\"TESTIDQUEST\",\"campaignId\":\"TESTIDCAMPAIGN\",\"interrogationId\":\"TESTIDUE\",\"state\":\"COLLECTED\",\"mode\":\"WEB\",\"recordDate\":\"2000-01-01T12:00\",\"fileDate\":\"2000-01-01T12:00\",\"collectedVariables\":[{\"varId\":\"TESTIDVAR\",\"values\":[\"V1\",\"V2\"],\"loopId\":\"TESTIDLOOP\",\"parentId\":\"TESTIDPARENT\"}],\"externalVariables\":[{\"varId\":\"TESTIDVAREXT\",\"values\":[\"V1\",\"V2\"],\"loopId\":\"TESTIDLOOP\",\"parentId\":\"TESTIDPARENT\"}],\"modifiedBy\": null}"), - objectMapper.readTree(objectMapper.writeValueAsString(surveyUnitModel)) - ); - } - -} diff --git a/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableModelTest.java b/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableModelTest.java deleted file mode 100644 index 12aca1f5..00000000 --- a/src/test/java/fr/insee/genesis/domain/model/surveyunit/VariableModelTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package fr.insee.genesis.domain.model.surveyunit; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -import java.util.ArrayList; -import java.util.List; - -class VariableModelTest { - @Test - void toJSONTest() throws JsonProcessingException { - VariableModel variable = VariableModel.builder() - .varId("TESTIDVAR") - .parentId("TESTIDPARENT") - .loopId("TESTIDLOOP") - .values(new ArrayList<>(List.of(new String[]{"V1", "V2"}))) - .build(); - - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); - - Assertions.assertEquals(objectMapper.readTree(objectMapper.writeValueAsString(variable)), - objectMapper.readTree("{\"values\":[\"V1\",\"V2\"],\"varId\":\"TESTIDVAR\",\"loopId\":\"TESTIDLOOP\",\"parentId\":\"TESTIDPARENT\"}")); - } -} \ No newline at end of file diff --git a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java index 7c130a4f..0a11b6d7 100644 --- a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java +++ b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java @@ -44,18 +44,33 @@ void reset(){ List externalVariableList = new ArrayList<>(); VariableModel variable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})).build(); + .value("V1") + .iteration(1) + .build(); + externalVariableList.add(variable); + variable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .iteration(2) + .build(); externalVariableList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) + .build(); + collectedVariableList.add(collectedVariable); + collectedVariable = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") + .iteration(2) .build(); - - collectedVariableList.add(collectedVariable); surveyUnitPersistencePortStub.getMongoStub().add(SurveyUnitModel.builder() .campaignId("TESTIDCAMPAIGN") @@ -79,17 +94,34 @@ void saveAllTest(){ List externalVariableList = new ArrayList<>(); VariableModel externalVariableModel = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})).build(); + .value("V1") + .iteration(1) + .build(); + externalVariableList.add(externalVariableModel); + externalVariableModel = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .iteration(2) + .build(); externalVariableList.add(externalVariableModel); + List collectedVariableList = new ArrayList<>(); VariableModel collectedVariableModel = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) + .build(); + collectedVariableList.add(collectedVariableModel); + collectedVariableModel = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") + .iteration(2) .build(); - collectedVariableList.add(collectedVariableModel); newSurveyUnitModelList.add( @@ -118,11 +150,13 @@ void saveAllTest(){ && surveyUnitModel.getRecordDate().equals(LocalDateTime.of(2024,1,1,0,0,0)) && !surveyUnitModel.getExternalVariables().stream().filter( externalVariable -> externalVariable.varId().equals("TESTIDVAR") - && externalVariable.values().containsAll(List.of(new String[]{"V1", "V2"})) + && externalVariable.iteration().equals(1) + && externalVariable.value().equals("V1") ).toList().isEmpty() && !surveyUnitModel.getCollectedVariables().stream().filter( collectedVariable -> collectedVariable.varId().equals("TESTIDVAR") - && collectedVariable.values().containsAll(List.of(new String[]{"V1", "V2"})) + && collectedVariable.iteration().equals(2) + && collectedVariable.value().equals("V2") ).toList().isEmpty() ).isNotEmpty(); } @@ -430,16 +464,26 @@ void findLatestByIdAndByQuestionnaireIdPerretTest_null_externalVariables(){ private void addAdditionnalDtoToMongoStub(){ List externalVariableList = new ArrayList<>(); - VariableModel externalVariableModel = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1" - , "V2"})).build(); + VariableModel externalVariableModel = VariableModel.builder() + .varId("TESTIDVAR") + .value("V1") + .iteration(1) + .build(); + externalVariableList.add(externalVariableModel); + externalVariableModel = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .iteration(2) + .build(); externalVariableList.add(externalVariableModel); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariableModel = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) .build(); collectedVariableList.add(collectedVariableModel); @@ -459,16 +503,34 @@ private void addAdditionnalDtoToMongoStub(){ private void addAdditionnalDtoToMongoStub(String idQuestionnaire) { List externalVariableList = new ArrayList<>(); - VariableModel externalVariableModel = VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1" - , "V2"})).build(); + VariableModel externalVariableModel = VariableModel.builder() + .varId("TESTIDVAR") + .value("V1") + .iteration(1) + .build(); + externalVariableList.add(externalVariableModel); + externalVariableModel = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") + .iteration(2) + .build(); externalVariableList.add(externalVariableModel); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariableModel = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") + .loopId("TESTIDLOOP") + .parentId("TESTIDPARENT") + .iteration(1) + .build(); + collectedVariableList.add(collectedVariableModel); + collectedVariableModel = VariableModel.builder() + .varId("TESTIDVAR") + .value("V2") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(2) .build(); collectedVariableList.add(collectedVariableModel); @@ -493,15 +555,20 @@ private void addAdditionnalDtoToMongoStub(DataState state, LocalDateTime recordDate) { List externalVariableList = new ArrayList<>(); VariableModel externalVariableModel = - VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{externalVariableValue})).build(); + VariableModel.builder() + .varId("TESTIDVAR") + .value(externalVariableValue) + .iteration(1) + .build(); externalVariableList.add(externalVariableModel); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{collectedVariableValue})) + .value(collectedVariableValue) .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java index a8977dd9..5e6d55ab 100644 --- a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java +++ b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java @@ -37,14 +37,14 @@ void setUp() { // Setup survey units VariableModel collectedVariable1 = VariableModel.builder() .varId("var1") - .values(List.of("123")) + .value("123") .loopId("loop1") .parentId("parent1") .build(); VariableModel collectedVariable2 = VariableModel.builder() .varId("var2") - .values(List.of("true")) + .value("true") .loopId("loop2") .parentId("parent2") .build(); @@ -79,13 +79,13 @@ void shouldAddForcedSurveyUnit_WhenInvalidCollectedVariable() { surveyUnits.clear(); VariableModel collectedVariable1 = VariableModel.builder() .varId("var1") - .values(List.of("invalid")) + .value("invalid") .loopId("loop1") .parentId("parent1") .build(); VariableModel collectedVariable2 = VariableModel.builder() .varId("var2") - .values(List.of("true")) + .value("true") .loopId("loop2") .parentId("parent2") .build(); @@ -120,8 +120,10 @@ void shouldNotAddForcedSurveyUnit_WhenAllVariablesAreValid() { @Test void shouldAddForcedSurveyUnit_WhenInvalidExternalVariable() { //Add surveyUnit with invalid external Variable - VariableModel extVar = VariableModel.builder().varId("var2").values(List.of( - "notBoolean")).build(); + VariableModel extVar = VariableModel.builder() + .varId("var2") + .value("notBoolean") + .build(); List listVarExt = new ArrayList<>(); listVarExt.add(extVar); @@ -152,22 +154,31 @@ void shouldCorrectInvalidValuesInForcedSurveyUnit() { surveyUnits.clear(); VariableModel collectedVariable1 = VariableModel.builder() .varId("var1") - .values(List.of("invalid", "456")) + .value("invalid") .loopId("loop1") .parentId("parent1") + .iteration(1) .build(); VariableModel collectedVariable2 = VariableModel.builder() + .varId("var1") + .value("456") + .loopId("loop1") + .parentId("parent1") + .iteration(2) + .build(); + VariableModel collectedVariable3 = VariableModel.builder() .varId("var2") - .values(List.of("false")) + .value("false") .loopId("loop2") .parentId("parent2") + .iteration(1) .build(); SurveyUnitModel surveyUnit = SurveyUnitModel.builder() .interrogationId("UE1100000001") .questionnaireId("Quest1") .campaignId("Camp1") .state(DataState.COLLECTED) - .collectedVariables(List.of(collectedVariable1, collectedVariable2)) + .collectedVariables(List.of(collectedVariable1, collectedVariable2, collectedVariable3)) .externalVariables(List.of()) .build(); surveyUnits.add(surveyUnit); @@ -179,7 +190,7 @@ void shouldCorrectInvalidValuesInForcedSurveyUnit() { SurveyUnitModel forcedUnit = surveyUnits.get(1); Assertions.assertEquals(DataState.FORCED, forcedUnit.getState()); Assertions.assertEquals(1, forcedUnit.getCollectedVariables().size()); - Assertions.assertEquals("", forcedUnit.getCollectedVariables().getFirst().values().getFirst()); // Corrected values + Assertions.assertEquals("", forcedUnit.getCollectedVariables().getFirst().value()); // Corrected values } } diff --git a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java index 722bb3a6..7ec23c40 100644 --- a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java +++ b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java @@ -40,28 +40,29 @@ static void init(){ List documentExternalVariableList = new ArrayList<>(); VariableDocument externalVariable = new VariableDocument(); externalVariable.setVarId("TESTIDVAR"); - externalVariable.setValues(List.of(new String[]{"V1", "V2"})); + externalVariable.setValue("V1"); documentExternalVariableList.add(externalVariable); surveyUnitDocumentStatic.setExternalVariables(documentExternalVariableList); List documentCollectedVariableList = new ArrayList<>(); VariableDocument variableDocument = new VariableDocument(); variableDocument.setVarId("TESTIDVAR"); - variableDocument.setValues(List.of(new String[]{"V1", "V2"})); + variableDocument.setValue("V1"); documentCollectedVariableList.add(variableDocument); surveyUnitDocumentStatic.setCollectedVariables(documentCollectedVariableList); List externalVariableDtoList = new ArrayList<>(); VariableModel variable = - VariableModel.builder().varId("TESTIDVAR").values(List.of(new String[]{"V1", "V2"})).build(); + VariableModel.builder().varId("TESTIDVAR").value("V1").build(); externalVariableDtoList.add(variable); List collectedVariableList = new ArrayList<>(); VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") - .values(List.of(new String[]{"V1", "V2"})) + .value("V1") .loopId("TESTIDLOOP") .parentId("TESTIDPARENT") + .iteration(1) .build(); collectedVariableList.add(collectedVariable); @@ -104,12 +105,12 @@ void shouldReturnDocumentDtoFromDocument(){ Assertions.assertThat(surveyUnit.getExternalVariables()).filteredOn(externalVariableDto -> externalVariableDto.varId().equals("TESTIDVAR") - && externalVariableDto.values().containsAll(List.of(new String[]{"V1", "V2"})) + && externalVariableDto.value().equals("V1") ).isNotEmpty(); Assertions.assertThat(surveyUnit.getCollectedVariables()).filteredOn(variableStateDto -> variableStateDto.varId().equals("TESTIDVAR") - && variableStateDto.values().containsAll(List.of(new String[]{"V1", "V2"})) + && variableStateDto.value().equals("V1") ).isNotEmpty(); } @@ -128,12 +129,12 @@ void shouldReturnDocumentFromDocumentDto(){ Assertions.assertThat(surveyUnitDocument.getExternalVariables()).filteredOn(externalVariableDto -> externalVariableDto.getVarId().equals("TESTIDVAR") - && externalVariableDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) + && externalVariableDto.getValue().equals("V1") ).isNotEmpty(); Assertions.assertThat(surveyUnitDocument.getCollectedVariables()).filteredOn(variableDocument -> variableDocument.getVarId().equals("TESTIDVAR") - && variableDocument.getValues().containsAll(List.of(new String[]{"V1", "V2"})) + && variableDocument.getValue().equals("V1") ).isNotEmpty(); } @@ -156,12 +157,12 @@ void shouldReturnDocumentLDtoListFromDocumentList(){ Assertions.assertThat(surveyUnitList.getFirst().getExternalVariables()).filteredOn(externalVariableDto -> externalVariableDto.varId().equals("TESTIDVAR") - && externalVariableDto.values().containsAll(List.of(new String[]{"V1", "V2"})) + && externalVariableDto.value().equals("V1") ).isNotEmpty(); Assertions.assertThat(surveyUnitList.getFirst().getCollectedVariables()).filteredOn(variableStateDto -> variableStateDto.varId().equals("TESTIDVAR") - && variableStateDto.values().containsAll(List.of(new String[]{"V1", "V2"})) + && variableStateDto.value().equals("V1") ).isNotEmpty(); } @@ -182,12 +183,12 @@ void shouldReturnDocumentListFromDocumentDtoList(){ Assertions.assertThat(surveyUnitDocumentList.getFirst().getExternalVariables()).filteredOn(externalVariableDto -> externalVariableDto.getVarId().equals("TESTIDVAR") - && externalVariableDto.getValues().containsAll(List.of(new String[]{"V1", "V2"})) + && externalVariableDto.getValue().equals("V1") ).isNotEmpty(); Assertions.assertThat(surveyUnitDocumentList.getFirst().getCollectedVariables()).filteredOn(variableDocument -> variableDocument.getVarId().equals("TESTIDVAR") - && variableDocument.getValues().containsAll(List.of(new String[]{"V1", "V2"})) + && variableDocument.getValue().equals("V1") ).isNotEmpty(); } } diff --git a/src/test/resources/features/do_we_extract_data.feature b/src/test/resources/features/do_we_extract_data.feature index 3dacbb3f..f80fbe0f 100644 --- a/src/test/resources/features/do_we_extract_data.feature +++ b/src/test/resources/features/do_we_extract_data.feature @@ -37,25 +37,24 @@ Feature: Do we extract data ? Scenario Outline: Collected data extraction content Given We have data in directory "" When We create DTOs from file "" with DDI "" - Then We should have a "" DTO for survey unit "" with "" filled with "" at index + Then We should have a "" DTO for survey unit "" with "" filled with "" for iteration Examples: - | Directory | FileName | DDIFileName | ExpectedDataState | SurveyUnitId | VariableName | ExpectedValue | ExpectedIndex | - | SAMPLETEST-PARADATA-v1 | reponse-platine/data.complete.validated.STPDv1.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v1.xml | COLLECTED | 0000007 | PRENOM_C | TESTPRENOM7 | 0 | - | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | COLLECTED | 0000007 | PRENOM_C | TESTPRENOM7 | 0 | - | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | EDITED | 0000007 | SANTE_ENFLOG71 | TESTSANTE7E | 0 | - | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | INPUTED | 0000007 | PETIT_ENF | TESTPETITENF7I | 0 | - | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | FORCED | 0000007 | LANGUE2_ENTOU | FR | 0 | - | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | PREVIOUS | 0000007 | AVIS_FILTRE | 1 | 0 | + | Directory | FileName | DDIFileName | ExpectedDataState | SurveyUnitId | VariableName | ExpectedValue | Iteration | + | SAMPLETEST-PARADATA-v1 | reponse-platine/data.complete.validated.STPDv1.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v1.xml | COLLECTED | 0000007 | PRENOM_C | TESTPRENOM7 | 1 | + | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | COLLECTED | 0000007 | PRENOM_C | TESTPRENOM7 | 1 | + | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | EDITED | 0000007 | SANTE_ENFLOG71 | TESTSANTE7E | 1 | + | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | INPUTED | 0000007 | PETIT_ENF | TESTPETITENF7I | 1 | + | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | FORCED | 0000007 | LANGUE2_ENTOU | FR | 1 | + | SAMPLETEST-PARADATA-v2 | reponse-platine/data.complete.validated.STPDv2.20231122164209.xml |ddi-SAMPLETEST-PARADATA-v2.xml | PREVIOUS | 0000007 | AVIS_FILTRE | 1 | 1 | Scenario Outline: External data extraction Given We have data in directory "" Given We copy data file "data_backup/data.complete.validated.STPDv1.20231122164209.xml" to that directory When We save data from that directory - Then We should have 1 values for external variable "" for survey unit "" - And For external variable "" in survey unit "" we should have "" and loopId "" + Then For external variable "" in survey unit "" we should have "" and loopId "" for iteration Examples: - | Directory | ExternalVariableName | LoopId | SurveyUnitId | ExpectedValue | - | SAMPLETEST | RPANAISCONJ | B_PRENOMREP_1 | 0000007 | 1986 | - | SAMPLETEST | RPPRENOM | B_PRENOMREP_1 | 0000007 | TESTRPRENOM7_2 | - | SAMPLETEST | RPPRENOM | B_PRENOMREP_2 | 0000007 | TESTRPRENOM7PAR1 | + | Directory | ExternalVariableName | LoopId | SurveyUnitId | ExpectedValue | Iteration | + | SAMPLETEST | RPANAISCONJ | B_PRENOMREP | 0000007 | 1986 | 1 | + | SAMPLETEST | RPPRENOM | B_PRENOMREP | 0000007 | TESTRPRENOM7_2 | 1 | + | SAMPLETEST | RPPRENOM | B_PRENOMREP | 0000007 | TESTRPRENOM7PAR1 | 2 | diff --git a/src/test/resources/features/do_we_save_loops.feature b/src/test/resources/features/do_we_save_loops.feature index 341e679e..1e62c2d9 100644 --- a/src/test/resources/features/do_we_save_loops.feature +++ b/src/test/resources/features/do_we_save_loops.feature @@ -7,10 +7,10 @@ Feature: Do we save loops ? When We save data from that directory When We delete that directory - Then For external variable "" in survey unit "" we should have "" as loopId and "" as first value + Then For external variable "" in survey unit "" we should have "" and loopId "" for iteration Examples: - | VariableName | InterrogationId | ExpectedIdLoop | ExpectedValue | - | CODESA | AUTO11000 | TABESA_1 | AAA | - | CODESA | AUTO11000 | TABESA_2 | BBB | - | CODESA | AUTO11000 | TABESA_3 | CCC | - | CODESA | AUTO11000 | TABESA_4 | DDD | \ No newline at end of file + | VariableName | InterrogationId | ExpectedIdLoop | ExpectedValue | Iteration | + | CODESA | AUTO11000 | TABESA | AAA | 1 | + | CODESA | AUTO11000 | TABESA | BBB | 2 | + | CODESA | AUTO11000 | TABESA | CCC | 3 | + | CODESA | AUTO11000 | TABESA | DDD | 4 | \ No newline at end of file From 241c46b88775efa83f5c4618a886044e1b1f4869 Mon Sep 17 00:00:00 2001 From: QDIBYS Date: Thu, 6 Feb 2025 14:46:37 +0100 Subject: [PATCH 09/12] feat!: renamed loopId to scope --- .../controller/adapter/LunaticXmlAdapter.java | 6 ++-- .../genesis/controller/dto/VariableDto.java | 3 +- .../controller/dto/VariableInputDto.java | 3 +- .../controller/utils/DataTransformer.java | 7 ++-- .../model/surveyunit/VariableModel.java | 2 +- .../service/surveyunit/SurveyUnitService.java | 18 ++++++----- .../genesis/domain/utils/DataVerifier.java | 10 +++--- .../document/surveyunit/VariableDocument.java | 4 +-- .../functional_tests/MainDefinitions.java | 4 +-- .../adapter/LunaticXmlAdapterTest.java | 12 +++---- .../rest/HealthCheckControllerTest.java | 8 ++--- .../controller/rest/UtilsControllerTest.java | 16 +++++----- .../responses/ResponseControllerTest.java | 27 ++++++++++------ .../controller/rest/responses/Utils.java | 12 +++---- .../domain/service/SurveyUnitServiceTest.java | 32 +++++++++---------- .../domain/utils/DataVerifierTest.java | 24 ++++++++------ .../SurveyUnitDocumentMapperImplTest.java | 2 +- 17 files changed, 104 insertions(+), 86 deletions(-) diff --git a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java index 1803506d..1cad3863 100644 --- a/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java +++ b/src/main/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapter.java @@ -123,7 +123,7 @@ private static SurveyUnitModel getCollectedDataFromSurveyUnit(LunaticXmlSurveyUn variableModels.add(VariableModel.builder() .varId(lunaticXmlCollectedData.getVariableName()) .value(valueTypeList.get(i-1).getValue()) - .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap)) + .scope(LoopIdentifier.getLoopIdentifier(lunaticXmlCollectedData.getVariableName(), variablesMap)) .parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlCollectedData.getVariableName(), variablesMap)) .iteration(i) .build()); @@ -160,9 +160,9 @@ private static void getExternalDataFromSurveyUnit(LunaticXmlSurveyUnit su, Surve variableModels.add(VariableModel.builder() .varId(lunaticXmlExternalData.getVariableName()) .value(valueTypeList.get(i-1).getValue()) - .loopId(LoopIdentifier.getLoopIdentifier(lunaticXmlExternalData.getVariableName(), variablesMap)) - .parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlExternalData.getVariableName(), variablesMap)) + .scope(LoopIdentifier.getLoopIdentifier(lunaticXmlExternalData.getVariableName(), variablesMap)) .iteration(i) + .parentId(LoopIdentifier.getRelatedVariableName(lunaticXmlExternalData.getVariableName(), variablesMap)) .build()); } } diff --git a/src/main/java/fr/insee/genesis/controller/dto/VariableDto.java b/src/main/java/fr/insee/genesis/controller/dto/VariableDto.java index 199de674..6e8fe47d 100644 --- a/src/main/java/fr/insee/genesis/controller/dto/VariableDto.java +++ b/src/main/java/fr/insee/genesis/controller/dto/VariableDto.java @@ -10,7 +10,8 @@ @Data public class VariableDto { private String variableName; - private String loopId; + private String scope; + private int iteration; @JsonProperty("variableStates") private List variableStateDtoList; diff --git a/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java b/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java index 6b553bd2..daf1d477 100644 --- a/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java +++ b/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java @@ -8,7 +8,8 @@ @Data public class VariableInputDto { private String variableName; - private String loopId; + private String scope; + private int iteration; @JsonProperty("newVariableState") private VariableStateInputDto variableStateInputDto; diff --git a/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java b/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java index 2e2661c1..e8349979 100644 --- a/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java +++ b/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java @@ -4,10 +4,12 @@ import fr.insee.genesis.controller.dto.SurveyUnitQualityToolDto; import fr.insee.genesis.controller.dto.VariableQualityToolDto; import fr.insee.genesis.controller.dto.VariableDto; +import lombok.experimental.UtilityClass; import java.util.ArrayList; import java.util.List; +@UtilityClass public class DataTransformer { public static SurveyUnitQualityToolDto transformSurveyUnitDto(SurveyUnitDto dto){ @@ -38,8 +40,8 @@ public static SurveyUnitQualityToolDto transformSurveyUnitDto(SurveyUnitDto dto) private static VariableQualityToolDto transformVariable(VariableDto variable) { Integer iteration = null; - if (variable.getLoopId() != null) { - iteration = LoopIdParser.extractIndex(variable.getLoopId()); + if (variable.getScope() != null) { + iteration = LoopIdParser.extractIndex(variable.getScope()); } return VariableQualityToolDto.builder() @@ -47,7 +49,6 @@ private static VariableQualityToolDto transformVariable(VariableDto variable) { .iteration(iteration) .variableStateDtoList(variable.getVariableStateDtoList()) .build(); - } } diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java index f6e3704c..3b4fb102 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java @@ -6,7 +6,7 @@ public record VariableModel( String varId, String value, - String loopId, + String scope, String parentId, Integer iteration ) {} diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index f0ef5e97..25bd361f 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -93,7 +93,7 @@ public List findLatestByIdAndByQuestionnaireId(String interroga latestUpdate.setExternalVariables(new ArrayList<>()); } latestUpdate.getCollectedVariables().forEach(colVar -> addedVariables.add(new IdLoopTuple(colVar.varId(), - colVar.loopId()))); + colVar.scope()))); latestUpdate.getExternalVariables().forEach(extVar -> addedVariables.add(new IdLoopTuple(extVar.varId(), ""))); suByMode.forEach(surveyUnitModel -> { @@ -101,10 +101,10 @@ public List findLatestByIdAndByQuestionnaireId(String interroga List externalVariablesToKeep = new ArrayList<>(); // We iterate over the variables of the update and add them to the list if they are not already added surveyUnitModel.getCollectedVariables().stream() - .filter(colVar -> !addedVariables.contains(new IdLoopTuple(colVar.varId(), colVar.loopId()))) + .filter(colVar -> !addedVariables.contains(new IdLoopTuple(colVar.varId(), colVar.scope()))) .forEach(colVar -> { collectedVariablesToKeep.add(colVar); - addedVariables.add(new IdLoopTuple(colVar.varId(), colVar.loopId())); + addedVariables.add(new IdLoopTuple(colVar.varId(), colVar.scope())); }); if (surveyUnitModel.getExternalVariables() != null){ surveyUnitModel.getExternalVariables().stream() @@ -276,7 +276,8 @@ public List parseEditedVariables( .varId(editedVariableDto.getVariableName()) .value(editedVariableDto.getVariableStateInputDto().getValue()) .parentId(LoopIdentifier.getRelatedVariableName(editedVariableDto.getVariableName(), variablesMap)) - .loopId(editedVariableDto.getLoopId()) + .scope(editedVariableDto.getScope()) + .iteration(editedVariableDto.getIteration()) .build(); surveyUnitModel.getCollectedVariables().add(collectedVariable); @@ -309,14 +310,15 @@ private void extractVariables(SurveyUnitModel surveyUnitModel, surveyUnitModel.setCollectedVariables(new ArrayList<>()); } for (VariableModel collectedVariable : surveyUnitModel.getCollectedVariables()) { - IdLoopTuple loopIdTuple = new IdLoopTuple(collectedVariable.varId(), collectedVariable.loopId()); + IdLoopTuple loopIdTuple = new IdLoopTuple(collectedVariable.varId(), collectedVariable.scope()); VariableDto variableDto = collectedVariableMap.get(loopIdTuple); //Create variable into map if not exists if (variableDto == null) { variableDto = VariableDto.builder() .variableName(collectedVariable.varId()) - .loopId(collectedVariable.loopId()) + .scope(collectedVariable.scope()) + .iteration(collectedVariable.iteration()) .variableStateDtoList(new ArrayList<>()) .build(); collectedVariableMap.put(loopIdTuple, variableDto); @@ -338,14 +340,14 @@ private void extractVariables(SurveyUnitModel surveyUnitModel, surveyUnitModel.setExternalVariables(new ArrayList<>()); } for(VariableModel externalVariable : surveyUnitModel.getExternalVariables()){ - IdLoopTuple loopIdTuple = new IdLoopTuple(externalVariable.varId(), externalVariable.loopId()); + IdLoopTuple loopIdTuple = new IdLoopTuple(externalVariable.varId(), externalVariable.scope()); VariableDto variableDto = externalVariableMap.get(loopIdTuple); //Create variable into map if not exists if(variableDto == null){ variableDto = VariableDto.builder() .variableName(externalVariable.varId()) - .loopId(externalVariable.loopId()) + .scope(externalVariable.scope()) .variableStateDtoList(new ArrayList<>()) .build(); externalVariableMap.put(loopIdTuple, variableDto); diff --git a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java index 9b6365a8..53ee0262 100644 --- a/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java +++ b/src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java @@ -88,7 +88,8 @@ private static SurveyUnitModel createForcedDto( VariableModel.builder() .varId(correctedCollectedVariable.varId()) .value(correctedCollectedVariable.value()) - .loopId(correctedCollectedVariable.loopId()) + .scope(correctedCollectedVariable.scope()) + .iteration(correctedCollectedVariable.iteration()) .parentId(correctedCollectedVariable.parentId()) .build() ); @@ -99,7 +100,8 @@ private static SurveyUnitModel createForcedDto( VariableModel.builder() .varId(correctedExternalVariable.varId()) .value(correctedExternalVariable.value()) - .loopId(correctedExternalVariable.loopId()) + .scope(correctedExternalVariable.scope()) + .iteration(correctedExternalVariable.iteration()) .parentId(correctedExternalVariable.parentId()) .build() ); @@ -166,9 +168,9 @@ private static VariableModel verifyVariable(VariableModel variableModel, fr.inse return VariableModel.builder() .varId(variableModel.varId()) .value("") - .loopId(variableModel.loopId()) - .parentId(variableModel.parentId()) + .scope(variableModel.scope()) .iteration(variableModel.iteration()) + .parentId(variableModel.parentId()) .build(); } return null; diff --git a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableDocument.java b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableDocument.java index f8eaa88e..a840326a 100644 --- a/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableDocument.java +++ b/src/main/java/fr/insee/genesis/infrastructure/document/surveyunit/VariableDocument.java @@ -11,8 +11,8 @@ public class VariableDocument implements Serializable { @Serial private static final long serialVersionUID = -1576556180669134053L; private String varId; - private String loopId; + private String scope; + private Integer iteration; private String parentId; private String value; - private Integer iteration; } \ No newline at end of file diff --git a/src/test/java/cucumber/functional_tests/MainDefinitions.java b/src/test/java/cucumber/functional_tests/MainDefinitions.java index 9c3a6e51..aa6d4348 100644 --- a/src/test/java/cucumber/functional_tests/MainDefinitions.java +++ b/src/test/java/cucumber/functional_tests/MainDefinitions.java @@ -171,7 +171,7 @@ public void check_survey_unit_dto_content(String dataState, String surveyUnitId, Assertions.assertThat(concernedCollectedVariable.value()).isEqualTo(expectedValue); } - @Then("For external variable {string} in survey unit {string} we should have {string} and loopId {string} for " + + @Then("For external variable {string} in survey unit {string} we should have {string} and scope {string} for " + "iteration {int}") public void forExternalVariableInSurveyUnitWeShouldHaveForLoop(String externalVariableName, String interrogationId, @@ -192,7 +192,7 @@ public void forExternalVariableInSurveyUnitWeShouldHaveForLoop(String externalVa List concernedExternalVariables = surveyUnitModel.getExternalVariables().stream().filter(variableModel -> variableModel.varId().equals(externalVariableName) - && Objects.equals(variableModel.loopId(), expectedLoopId) + && Objects.equals(variableModel.scope(), expectedLoopId) && variableModel.iteration().equals(iteration) ).toList(); diff --git a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java index 63aedf6c..b460de4b 100644 --- a/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java +++ b/src/test/java/fr/insee/genesis/controller/adapter/LunaticXmlAdapterTest.java @@ -336,7 +336,7 @@ void test09() { Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.varId().equals("var3")).toList().getFirst().parentId()).isNull(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.varId().equals("var3")).toList().getFirst().loopId()).isEqualTo(Constants.ROOT_GROUP_NAME); + collectedVariableDto.varId().equals("var3")).toList().getFirst().scope()).isEqualTo(Constants.ROOT_GROUP_NAME); } @Test @@ -353,7 +353,7 @@ void test10() { Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> collectedVariableDto.varId().equals("var1_MISSING")).toList().getFirst().parentId()).isNotNull().isEqualTo("var1"); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.varId().equals("var1_MISSING")).toList().getFirst().loopId()).isNotEqualTo(Constants.ROOT_GROUP_NAME).isEqualTo(LOOP_NAME); + collectedVariableDto.varId().equals("var1_MISSING")).toList().getFirst().scope()).isNotEqualTo(Constants.ROOT_GROUP_NAME).isEqualTo(LOOP_NAME); } @Test @@ -367,15 +367,15 @@ void test11(){ Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> collectedVariableDto.varId().equals("var1")).isNotEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables()).filteredOn(collectedVariableDto -> - collectedVariableDto.loopId().equals("BOUCLE1") + collectedVariableDto.scope().equals("BOUCLE1") && collectedVariableDto.iteration().equals(1) ).isEmpty(); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.loopId().equals("BOUCLE1") + collectedVariableDto.scope().equals("BOUCLE1") && collectedVariableDto.iteration().equals(2) ).toList().getFirst().value()).isEqualTo("1"); Assertions.assertThat(suDtos.getFirst().getCollectedVariables().stream().filter(collectedVariableDto -> - collectedVariableDto.loopId().equals("BOUCLE1") + collectedVariableDto.scope().equals("BOUCLE1") && collectedVariableDto.iteration().equals(3) ).toList().getFirst().value()).isEqualTo("2"); } @@ -391,7 +391,7 @@ void test12(){ Assertions.assertThat(suDtos.getFirst().getExternalVariables()).hasSize(1); Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().varId()).isEqualTo("extvar1"); Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().value()).isEqualTo("ext"); - Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().loopId()).isEqualTo(LOOP_NAME); + Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().scope()).isEqualTo(LOOP_NAME); Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().iteration()).isEqualTo(1); Assertions.assertThat(suDtos.getFirst().getExternalVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); } diff --git a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java index 86527ab6..71072b41 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/HealthCheckControllerTest.java @@ -47,17 +47,17 @@ static void init() { VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V2") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(2) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); surveyUnitPersistencePortStub.getMongoStub().add(SurveyUnitModel.builder() diff --git a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java index a22e2216..a0d6d665 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/UtilsControllerTest.java @@ -77,17 +77,17 @@ void reset() throws IOException { VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V2") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(2) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); @@ -389,17 +389,17 @@ private void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnai VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V2") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(2) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java index c3219d82..110900b3 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java @@ -402,7 +402,8 @@ void saveEditedTest() { List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .loopId(loopId) + .scope(loopId) + .iteration(1) .build(); variableInputDto.setVariableStateInputDto(VariableStateInputDto.builder() @@ -436,7 +437,7 @@ void saveEditedTest() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables()).hasSize(1); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().varId()).isEqualTo(varId); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().scope()).isEqualTo(loopId); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().value()).isEqualTo(editedValue); @@ -458,7 +459,8 @@ void saveEditedTest_DocumentEdited() { List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .loopId(loopId) + .scope(loopId) + .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -469,7 +471,8 @@ void saveEditedTest_DocumentEdited() { //Variable 2 VariableInputDto variableInputDto2 = VariableInputDto.builder() .variableName(varId2) - .loopId(loopId) + .scope(loopId) + .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -501,7 +504,7 @@ void saveEditedTest_DocumentEdited() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables()).hasSize(2); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().varId()).isEqualTo(varId); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().scope()).isEqualTo(loopId); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables().getFirst().value()).isEqualTo(editedValue); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getModifiedBy()).isNull(); @@ -522,7 +525,8 @@ void saveEditedTest_DocumentForced() { List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .loopId(loopId) + .scope(loopId) + .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -533,7 +537,8 @@ void saveEditedTest_DocumentForced() { //Variable 2 VariableInputDto variableInputDto2 = VariableInputDto.builder() .variableName(varId2) - .loopId(loopId) + .scope(loopId) + .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -566,7 +571,7 @@ void saveEditedTest_DocumentForced() { Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables()).hasSize(1); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().varId()).isEqualTo(varId2); - Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().loopId()).isEqualTo(loopId); + Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().scope()).isEqualTo(loopId); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().parentId()).isEqualTo(Constants.ROOT_GROUP_NAME); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getCollectedVariables().getFirst().value()).isNotNull().isEmpty(); Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getLast().getModifiedBy()).isNull(); @@ -584,7 +589,8 @@ void saveEditedTest_No_Metadata_Error() { List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .loopId(loopId) + .scope(loopId) + .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) .value(editedValue) @@ -619,11 +625,12 @@ void saveTest_With_Collected_State_Error(){ List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .loopId(loopId) + .scope(loopId) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.COLLECTED) //Collected instead of EDITED .value(editedValue) .build()) + .iteration(1) .build(); newVariables.add(variableInputDto); diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java index dfca09f2..b96fcab6 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/Utils.java @@ -201,17 +201,17 @@ static void addAdditionalDtoToMongoStub(String idCampaign, String idQuestionnair VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V2") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(2) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); @@ -249,9 +249,9 @@ static void addAdditionalDtoToMongoStub(DataState state, VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value(collectedVariableValue) - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java index 0a11b6d7..8e8cb14a 100644 --- a/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java +++ b/src/test/java/fr/insee/genesis/domain/service/SurveyUnitServiceTest.java @@ -59,17 +59,17 @@ void reset(){ VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V2") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(2) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); surveyUnitPersistencePortStub.getMongoStub().add(SurveyUnitModel.builder() @@ -110,17 +110,17 @@ void saveAllTest(){ VariableModel collectedVariableModel = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariableModel); collectedVariableModel = VariableModel.builder() .varId("TESTIDVAR") .value("V2") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(2) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariableModel); @@ -481,9 +481,9 @@ private void addAdditionnalDtoToMongoStub(){ VariableModel collectedVariableModel = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariableModel); @@ -520,17 +520,17 @@ private void addAdditionnalDtoToMongoStub(String idQuestionnaire) { VariableModel collectedVariableModel = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariableModel); collectedVariableModel = VariableModel.builder() .varId("TESTIDVAR") .value("V2") - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(2) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariableModel); @@ -566,9 +566,9 @@ private void addAdditionnalDtoToMongoStub(DataState state, VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value(collectedVariableValue) - .loopId("TESTIDLOOP") - .parentId("TESTIDPARENT") + .scope("TESTIDLOOP") .iteration(1) + .parentId("TESTIDPARENT") .build(); collectedVariableList.add(collectedVariable); diff --git a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java index 5e6d55ab..265732dd 100644 --- a/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java +++ b/src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java @@ -38,14 +38,16 @@ void setUp() { VariableModel collectedVariable1 = VariableModel.builder() .varId("var1") .value("123") - .loopId("loop1") + .scope("loop1") + .iteration(1) .parentId("parent1") .build(); VariableModel collectedVariable2 = VariableModel.builder() .varId("var2") .value("true") - .loopId("loop2") + .scope("loop2") + .iteration(1) .parentId("parent2") .build(); @@ -80,13 +82,15 @@ void shouldAddForcedSurveyUnit_WhenInvalidCollectedVariable() { VariableModel collectedVariable1 = VariableModel.builder() .varId("var1") .value("invalid") - .loopId("loop1") + .scope("loop1") + .iteration(1) .parentId("parent1") .build(); VariableModel collectedVariable2 = VariableModel.builder() .varId("var2") .value("true") - .loopId("loop2") + .scope("loop2") + .iteration(1) .parentId("parent2") .build(); SurveyUnitModel surveyUnit = SurveyUnitModel.builder() @@ -155,23 +159,23 @@ void shouldCorrectInvalidValuesInForcedSurveyUnit() { VariableModel collectedVariable1 = VariableModel.builder() .varId("var1") .value("invalid") - .loopId("loop1") - .parentId("parent1") + .scope("loop1") .iteration(1) + .parentId("parent1") .build(); VariableModel collectedVariable2 = VariableModel.builder() .varId("var1") .value("456") - .loopId("loop1") - .parentId("parent1") + .scope("loop1") .iteration(2) + .parentId("parent1") .build(); VariableModel collectedVariable3 = VariableModel.builder() .varId("var2") .value("false") - .loopId("loop2") - .parentId("parent2") + .scope("loop2") .iteration(1) + .parentId("parent2") .build(); SurveyUnitModel surveyUnit = SurveyUnitModel.builder() .interrogationId("UE1100000001") diff --git a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java index 7ec23c40..fb076726 100644 --- a/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java +++ b/src/test/java/fr/insee/genesis/infrastructure/mapper/SurveyUnitDocumentMapperImplTest.java @@ -60,7 +60,7 @@ static void init(){ VariableModel collectedVariable = VariableModel.builder() .varId("TESTIDVAR") .value("V1") - .loopId("TESTIDLOOP") + .scope("TESTIDLOOP") .parentId("TESTIDPARENT") .iteration(1) .build(); From 8b9fcffea7fcabe9164816f1f4ee2331f0b0d76f Mon Sep 17 00:00:00 2001 From: QDIBYS Date: Thu, 6 Feb 2025 14:47:14 +0100 Subject: [PATCH 10/12] fix(cucumber): changed to scope --- src/test/resources/features/do_we_extract_data.feature | 4 ++-- src/test/resources/features/do_we_save_loops.feature | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/resources/features/do_we_extract_data.feature b/src/test/resources/features/do_we_extract_data.feature index f80fbe0f..54353c7b 100644 --- a/src/test/resources/features/do_we_extract_data.feature +++ b/src/test/resources/features/do_we_extract_data.feature @@ -52,9 +52,9 @@ Feature: Do we extract data ? Given We have data in directory "" Given We copy data file "data_backup/data.complete.validated.STPDv1.20231122164209.xml" to that directory When We save data from that directory - Then For external variable "" in survey unit "" we should have "" and loopId "" for iteration + Then For external variable "" in survey unit "" we should have "" and scope "" for iteration Examples: - | Directory | ExternalVariableName | LoopId | SurveyUnitId | ExpectedValue | Iteration | + | Directory | ExternalVariableName | Scope | SurveyUnitId | ExpectedValue | Iteration | | SAMPLETEST | RPANAISCONJ | B_PRENOMREP | 0000007 | 1986 | 1 | | SAMPLETEST | RPPRENOM | B_PRENOMREP | 0000007 | TESTRPRENOM7_2 | 1 | | SAMPLETEST | RPPRENOM | B_PRENOMREP | 0000007 | TESTRPRENOM7PAR1 | 2 | diff --git a/src/test/resources/features/do_we_save_loops.feature b/src/test/resources/features/do_we_save_loops.feature index 1e62c2d9..c60d11f8 100644 --- a/src/test/resources/features/do_we_save_loops.feature +++ b/src/test/resources/features/do_we_save_loops.feature @@ -7,9 +7,9 @@ Feature: Do we save loops ? When We save data from that directory When We delete that directory - Then For external variable "" in survey unit "" we should have "" and loopId "" for iteration + Then For external variable "" in survey unit "" we should have "" and scope "" for iteration Examples: - | VariableName | InterrogationId | ExpectedIdLoop | ExpectedValue | Iteration | + | VariableName | InterrogationId | ExpectedScope | ExpectedValue | Iteration | | CODESA | AUTO11000 | TABESA | AAA | 1 | | CODESA | AUTO11000 | TABESA | BBB | 2 | | CODESA | AUTO11000 | TABESA | CCC | 3 | From eb2b5850eea1c5e11273d6e00af9b783512946e8 Mon Sep 17 00:00:00 2001 From: QDIBYS Date: Thu, 6 Feb 2025 15:58:29 +0100 Subject: [PATCH 11/12] fix: null iteration in latest states get --- .../controller/utils/DataTransformer.java | 8 +------ .../controller/utils/LoopIdParser.java | 21 ---------------- .../model/surveyunit/VariableModel.java | 4 ++-- .../controller/utils/LoopIdParserTest.java | 24 ------------------- 4 files changed, 3 insertions(+), 54 deletions(-) delete mode 100644 src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java delete mode 100644 src/test/java/fr/insee/genesis/controller/utils/LoopIdParserTest.java diff --git a/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java b/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java index e8349979..f837f951 100644 --- a/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java +++ b/src/main/java/fr/insee/genesis/controller/utils/DataTransformer.java @@ -38,15 +38,9 @@ public static SurveyUnitQualityToolDto transformSurveyUnitDto(SurveyUnitDto dto) } private static VariableQualityToolDto transformVariable(VariableDto variable) { - Integer iteration = null; - - if (variable.getScope() != null) { - iteration = LoopIdParser.extractIndex(variable.getScope()); - } - return VariableQualityToolDto.builder() .variableName(variable.getVariableName()) - .iteration(iteration) + .iteration(variable.getIteration()) .variableStateDtoList(variable.getVariableStateDtoList()) .build(); } diff --git a/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java b/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java deleted file mode 100644 index e6395516..00000000 --- a/src/main/java/fr/insee/genesis/controller/utils/LoopIdParser.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.insee.genesis.controller.utils; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class LoopIdParser { - - private static final Pattern LOOP_PATTERN = Pattern.compile(".*_(\\d+)$"); - - public static Integer extractIndex(String loopId) { - if (loopId == null) { - return null; - } - - Matcher matcher = LOOP_PATTERN.matcher(loopId); - if (matcher.matches()) { - return Integer.parseInt(matcher.group(1)); - } - return null; - } -} diff --git a/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java b/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java index 3b4fb102..8a6f2bcf 100644 --- a/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java +++ b/src/main/java/fr/insee/genesis/domain/model/surveyunit/VariableModel.java @@ -7,6 +7,6 @@ public record VariableModel( String varId, String value, String scope, - String parentId, - Integer iteration + Integer iteration, + String parentId ) {} diff --git a/src/test/java/fr/insee/genesis/controller/utils/LoopIdParserTest.java b/src/test/java/fr/insee/genesis/controller/utils/LoopIdParserTest.java deleted file mode 100644 index f30a6a9c..00000000 --- a/src/test/java/fr/insee/genesis/controller/utils/LoopIdParserTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package fr.insee.genesis.controller.utils; - -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.*; - -class LoopIdParserTest { - - @Test - void shouldReturn42(){ - assertEquals(42, LoopIdParser.extractIndex("BOUCLE_42")); - } - - @Test - void shouldReturnWhen9(){ - assertEquals(9, LoopIdParser.extractIndex("MULTIPLE_UNDERSCORE_BEFORE_SUFFIX_9")); - } - - @Test - void shouldReturnNullIfNoSuffix(){ - assertNull(LoopIdParser.extractIndex("NO_INDEX")); - } - -} \ No newline at end of file From 1f7877453514fbd86cf7bb5bfee9512537ca7286 Mon Sep 17 00:00:00 2001 From: QDIBYS Date: Fri, 7 Feb 2025 10:19:05 +0100 Subject: [PATCH 12/12] feat: edited variables service use metadatas to get scope --- .../genesis/controller/dto/VariableInputDto.java | 1 - .../service/surveyunit/SurveyUnitService.java | 2 +- .../rest/responses/ResponseControllerTest.java | 15 +++------------ 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java b/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java index daf1d477..16f090fd 100644 --- a/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java +++ b/src/main/java/fr/insee/genesis/controller/dto/VariableInputDto.java @@ -8,7 +8,6 @@ @Data public class VariableInputDto { private String variableName; - private String scope; private int iteration; @JsonProperty("newVariableState") diff --git a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java index 25bd361f..c008b77f 100644 --- a/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java +++ b/src/main/java/fr/insee/genesis/domain/service/surveyunit/SurveyUnitService.java @@ -276,7 +276,7 @@ public List parseEditedVariables( .varId(editedVariableDto.getVariableName()) .value(editedVariableDto.getVariableStateInputDto().getValue()) .parentId(LoopIdentifier.getRelatedVariableName(editedVariableDto.getVariableName(), variablesMap)) - .scope(editedVariableDto.getScope()) + .scope(variablesMap.getVariable(editedVariableDto.getVariableName()).getGroupName()) .iteration(editedVariableDto.getIteration()) .build(); diff --git a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java index 110900b3..8ebc223f 100644 --- a/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java +++ b/src/test/java/fr/insee/genesis/controller/rest/responses/ResponseControllerTest.java @@ -396,13 +396,12 @@ void saveEditedTest() { String campaignId = ID_CAMPAIGN_WITH_DDI; String idQuest = ID_QUEST_WITH_DDI; String varId = "PRENOM_C"; - String loopId = "BOUCLE_VAL_ANNAISS_1"; + String loopId = "B_PRENOMREP"; String editedValue = "TESTPRENOMEDITED"; List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .scope(loopId) .iteration(1) .build(); @@ -452,14 +451,13 @@ void saveEditedTest_DocumentEdited() { String idQuest = ID_QUEST_WITH_DDI; String varId = "PRENOM_C"; String varId2 = "NB_SOEURS"; - String loopId = "BOUCLE_VAL_ANNAISS_1"; + String loopId = "B_PRENOMREP"; String editedValue = "NOT A INT"; //Variable 1 List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .scope(loopId) .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) @@ -471,7 +469,6 @@ void saveEditedTest_DocumentEdited() { //Variable 2 VariableInputDto variableInputDto2 = VariableInputDto.builder() .variableName(varId2) - .scope(loopId) .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) @@ -518,14 +515,13 @@ void saveEditedTest_DocumentForced() { String idQuest = ID_QUEST_WITH_DDI; String varId = "PRENOM_C"; String varId2 = "NB_SOEURS"; - String loopId = "BOUCLE_VAL_ANNAISS_1"; + String loopId = "B_PRENOMREP"; String editedValue = "NOT A INT"; //Variable 1 List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .scope(loopId) .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) @@ -537,7 +533,6 @@ void saveEditedTest_DocumentForced() { //Variable 2 VariableInputDto variableInputDto2 = VariableInputDto.builder() .variableName(varId2) - .scope(loopId) .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) @@ -582,14 +577,12 @@ void saveEditedTest_No_Metadata_Error() { surveyUnitPersistencePortStub.getMongoStub().clear(); String campaignId = "TEST"; String varId = "PRENOM_C"; - String loopId = "BOUCLE_VAL_ANNAISS_1"; String editedValue = "TESTVALUE"; //Variable 1 List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .scope(loopId) .iteration(1) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.EDITED) @@ -618,14 +611,12 @@ void saveTest_With_Collected_State_Error(){ //GIVEN surveyUnitPersistencePortStub.getMongoStub().clear(); String varId = "PRENOM_C"; - String loopId = "BOUCLE_VAL_ANNAISS_1"; String editedValue = "TESTVALUE"; //Variable 1 List newVariables = new ArrayList<>(); VariableInputDto variableInputDto = VariableInputDto.builder() .variableName(varId) - .scope(loopId) .variableStateInputDto(VariableStateInputDto.builder() .state(DataState.COLLECTED) //Collected instead of EDITED .value(editedValue)