Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public class SurveyUnitSimplified {
private String questionnaireId;
private String campaignId;
private String interrogationId;
private String surveyUnitId;
private Mode mode;
private List<VariableModel> variablesUpdate;
private List<VariableModel> externalVariables;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ public ResponseEntity<SurveyUnitSimplified> getLatestByInterrogationOneObject(@R
.questionnaireId(responses.getFirst().getQuestionnaireId())
.campaignId(responses.getFirst().getCampaignId())
.interrogationId(responses.getFirst().getInterrogationId())
.surveyUnitId(responses.getFirst().getIdUE())
.variablesUpdate(outputVariables)
.externalVariables(outputExternalVariables)
.build());
Expand Down Expand Up @@ -280,6 +281,7 @@ public ResponseEntity<List<SurveyUnitSimplified>> getLatestForInterrogationList(
.questionnaireId(responses.getFirst().getQuestionnaireId())
.campaignId(responses.getFirst().getCampaignId())
.interrogationId(responses.getFirst().getInterrogationId())
.surveyUnitId(responses.getFirst().getIdUE())
.mode(mode)
.variablesUpdate(outputVariables)
.externalVariables(outputExternalVariables)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public class SurveyUnitModel {
private String questionnaireId;
private String campaignId;
private String interrogationId;
private String idUE;
private DataState state;
private Mode mode;
private String contextualId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ public DataProcessResult processRawData(String campaignName, List<String> interr
int maxIndex = Math.min(interrogationIdListForMode.size(), config.getRawDataProcessingBatchSize());
List<String> interrogationIdToProcess = interrogationIdListForMode.subList(0, maxIndex);

List<LunaticJsonRawDataModel> rawData = getRawData(campaignName,mode, interrogationIdToProcess);
List<LunaticJsonRawDataModel> rawData = getRawData(campaignName, mode, interrogationIdToProcess);

List<SurveyUnitModel> surveyUnitModels = convertRawData(
rawData,
Expand Down Expand Up @@ -210,6 +210,7 @@ public List<SurveyUnitModel> convertRawData(List<LunaticJsonRawDataModel> rawDat
.questionnaireId(rawData.questionnaireId())
.mode(rawData.mode())
.interrogationId(rawData.interrogationId())
.idUE(rawData.idUE())
.contextualId(contextualId)
.validationDate(validationDate)
.isCapturedIndirectly(isCapturedIndirectly)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ private static SurveyUnitModel createFormattedSurveyUnitModel(
.questionnaireId(sampleSurveyUnitModel.getQuestionnaireId())
.campaignId(sampleSurveyUnitModel.getCampaignId())
.interrogationId(interrogationId)
.idUE(sampleSurveyUnitModel.getIdUE())
.state(DataState.FORMATTED)
.mode(sampleSurveyUnitModel.getMode())
.recordDate(LocalDateTime.now().plusSeconds(1)) // Add 1 second to avoid same recordDate as COLLECTED
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public class SurveyUnitDocument {
private String campaignId;
@Indexed
private String interrogationId;
private String idUE;
private String questionnaireId;
private String state;
@Indexed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,15 @@ void saveJsonRawDataFromStringTest() throws Exception {
String campaignId = "SAMPLETEST-PARADATA-v1";
String questionnaireId = "testIdQuest".toUpperCase();
String interrogationId = "testinterrogationId";
String idUE = "testIdUE";
Map<String,Object> json = JsonUtils.jsonToMap("{\"COLLECTED\": {\"testdata\": {\"COLLECTED\": [\"test\"]}}}");

//WHEN
ResponseEntity<String> response = rawResponseController.saveRawResponsesFromJsonBody(
campaignId
, questionnaireId
, interrogationId
, null
, idUE
, Mode.WEB
, json
);
Expand All @@ -85,6 +86,7 @@ void saveJsonRawDataFromStringTest() throws Exception {
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub()).isNotEmpty().hasSize(1);
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().campaignId()).isNotNull().isEqualTo(campaignId);
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().questionnaireId()).isNotNull().isEqualTo(questionnaireId);
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().idUE()).isNotNull().isEqualTo(idUE);
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().interrogationId()).isNotNull().isEqualTo(interrogationId);
Assertions.assertThat(lunaticJsonRawDataPersistanceStub.getMongoStub().getFirst().mode()).isEqualTo(Mode.WEB);

Expand Down Expand Up @@ -145,9 +147,11 @@ void processJsonRawDataTest(){
String campaignId = "SAMPLETEST-PARADATA-v2";
String questionnaireId = campaignId + "_quest";
String interrogationId = "testinterrogationId1";
String idUE = "testIdUE1";
String varName = "AVIS_MAIL";
String varValue = "TEST";
addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId, null, LocalDateTime.now(),varName, varValue);
addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId, idUE, null, LocalDateTime.now(),varName
, varValue);

dataProcessingContextPersistancePortStub.getMongoStub().add(
DataProcessingContextMapper.INSTANCE.modelToDocument(
Expand Down Expand Up @@ -175,6 +179,7 @@ void processJsonRawDataTest(){
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getQuestionnaireId()).isNotNull().isEqualTo(questionnaireId);
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getMode()).isNotNull().isEqualTo(Mode.WEB);
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getInterrogationId()).isEqualTo(interrogationId);
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getIdUE()).isEqualTo(idUE);
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getFileDate()).isNotNull();
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getRecordDate()).isNotNull();
Assertions.assertThat(surveyUnitPersistencePortStub.getMongoStub().getFirst().getCollectedVariables()).isNotNull().isNotEmpty().hasSize(1);
Expand Down Expand Up @@ -205,7 +210,7 @@ void getRawResponsesFromJsonBody() {
Instant recordDate = Instant.parse("2025-01-01T01:00:00.000Z");
Instant processDate = Instant.parse("2025-01-02T01:00:00.000Z");

addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId,
addJsonRawDataDocumentToStub(campaignId, questionnaireId, interrogationId, null,
LocalDateTime.ofInstant(processDate, ZoneOffset.UTC),
LocalDateTime.ofInstant(recordDate, ZoneOffset.UTC),
varName, varValue);
Expand Down Expand Up @@ -236,11 +241,15 @@ private void addJsonRawDataDocumentToStub(String campaignId, String questionnair
lunaticJsonRawDataPersistanceStub.getMongoStub().add(lunaticJsonDataDocument);
}

private void addJsonRawDataDocumentToStub(String campaignId, String questionnaireId, String interrogationId,
LocalDateTime processDate,
LocalDateTime recordDate,
String variableName, String variableValue) {

private void addJsonRawDataDocumentToStub(String campaignId,
String questionnaireId,
String interrogationId,
String idUE,
LocalDateTime processDate,
LocalDateTime recordDate,
String variableName,
String variableValue)
{
Map<String, Object> jsonMap = Map.of(
"COLLECTED", Map.of(variableName, Map.of("COLLECTED", variableValue)),
"EXTERNAL", Map.of(variableName + "_EXTERNAL", variableValue + "_EXTERNAL")
Expand All @@ -251,6 +260,7 @@ private void addJsonRawDataDocumentToStub(String campaignId, String questionnair
.questionnaireId(questionnaireId)
.mode(Mode.WEB)
.interrogationId(interrogationId)
.idUE(idUE)
.recordDate(recordDate)
.processDate(processDate)
.data(jsonMap)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class ResponseControllerTest {
//Constants
static final String DEFAULT_INTERROGATION_ID = "TESTINTERROGATIONID";
static final String DEFAULT_QUESTIONNAIRE_ID = "TESTQUESTIONNAIREID";
static final String DEFAULT_ID_UE = "TESTIDUE";
static final String CAMPAIGN_ID_WITH_DDI = "SAMPLETEST-PARADATA-v1";
static final String QUESTIONNAIRE_ID_WITH_DDI = "quest_model_famille_AD_ttp".toUpperCase();

Expand Down Expand Up @@ -155,6 +156,7 @@ void findResponsesByUEAndQuestionnaireTest() {
Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue();
Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty();
Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID);
Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_ID_UE);
Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID);
}

Expand All @@ -167,6 +169,7 @@ void getLatestByUETest() {
Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue();
Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty();
Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID);
Assertions.assertThat(response.getBody().getFirst().getIdUE()).isEqualTo(DEFAULT_ID_UE);
Assertions.assertThat(response.getBody().getFirst().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID);
Assertions.assertThat(response.getBody().getFirst().getFileDate()).hasMonth(Month.FEBRUARY);
}
Expand All @@ -178,6 +181,7 @@ void getLatestByUEOneObjectTest() {
Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue();
Assertions.assertThat(response.getBody()).isNotNull();
Assertions.assertThat(response.getBody().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID);
Assertions.assertThat(response.getBody().getSurveyUnitId()).isEqualTo(DEFAULT_ID_UE);
Assertions.assertThat(response.getBody().getQuestionnaireId()).isEqualTo(DEFAULT_QUESTIONNAIRE_ID);
}

Expand All @@ -188,6 +192,7 @@ void getLatestForUEListTest() {
Assertions.assertThat(response.getStatusCode().is2xxSuccessful()).isTrue();
Assertions.assertThat(response.getBody()).isNotNull().isNotEmpty();
Assertions.assertThat(response.getBody().getFirst().getInterrogationId()).isEqualTo(DEFAULT_INTERROGATION_ID);
Assertions.assertThat(response.getBody().getFirst().getSurveyUnitId()).isEqualTo(DEFAULT_ID_UE);
}

// Perret tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,13 @@ class Utils {
//Constants
static final String DEFAULT_INTERROGATION_ID = "TESTINTERROGATIONID";
static final String DEFAULT_QUESTIONNAIRE_ID = "TESTQUESTIONNAIREID";
static final String DEFAULT_ID_UE = "TESTIDUE";

static void reset(SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) throws IOException {
//MongoDB stub management
surveyUnitPersistencePortStub.getMongoStub().clear();

addAdditionalSurveyUnitModelToMongoStub("TEST-TABLEAUX", DEFAULT_QUESTIONNAIRE_ID,
addAdditionalSurveyUnitModelToMongoStub("TEST-TABLEAUX", DEFAULT_QUESTIONNAIRE_ID, DEFAULT_ID_UE,
LocalDateTime.of(2023, 1, 1, 0, 0, 0),
LocalDateTime.of(2024, 1, 1, 0, 0, 0),
surveyUnitPersistencePortStub);
Expand Down Expand Up @@ -174,13 +175,13 @@ static void addAdditionalSurveyUnitModelToMongoStub(String questionnaireId, Surv
}

static void addAdditionalSurveyUnitModelToMongoStub(String campaignId, String questionnaireId, SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) {
addAdditionalSurveyUnitModelToMongoStub(campaignId,questionnaireId,
addAdditionalSurveyUnitModelToMongoStub(campaignId,questionnaireId, DEFAULT_ID_UE,
LocalDateTime.of(2023, 2, 2, 0, 0, 0),
LocalDateTime.of(2024, 2, 2, 0, 0, 0),
surveyUnitPersistencePortStub);
}

static void addAdditionalSurveyUnitModelToMongoStub(String campaignId, String questionnaireId,
static void addAdditionalSurveyUnitModelToMongoStub(String campaignId, String questionnaireId, String idUE,
LocalDateTime fileDate, LocalDateTime recordDate,
SurveyUnitPersistencePortStub surveyUnitPersistencePortStub) {
List<VariableModel> externalVariableList = new ArrayList<>();
Expand Down Expand Up @@ -219,6 +220,7 @@ static void addAdditionalSurveyUnitModelToMongoStub(String campaignId, String qu
.campaignId(campaignId)
.mode(Mode.WEB)
.interrogationId(DEFAULT_INTERROGATION_ID)
.idUE(idUE)
.questionnaireId(questionnaireId)
.state(DataState.COLLECTED)
.fileDate(fileDate)
Expand Down
Loading