Skip to content

Commit 01e6432

Browse files
committed
fix: fixed tests
1 parent eb254da commit 01e6432

6 files changed

Lines changed: 23 additions & 79 deletions

File tree

src/main/java/fr/insee/genesis/domain/converter/rawdata/LunaticJsonRawDataConverter.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import fr.insee.genesis.domain.model.surveyunit.rawdata.LunaticJsonRawDataModel;
77
import fr.insee.genesis.domain.model.surveyunit.rawdata.RawDataModelType;
88
import fr.insee.genesis.domain.parser.rawdata.LunaticJsonRawDataPayloadParser;
9-
import fr.insee.genesis.domain.service.surveyunit.SurveyUnitService;
9+
import fr.insee.genesis.domain.ports.api.SurveyUnitApiPort;
1010
import lombok.extern.slf4j.Slf4j;
1111
import org.springframework.stereotype.Component;
1212

@@ -22,8 +22,9 @@ public class LunaticJsonRawDataConverter extends RawDataConverter {
2222

2323
private final LunaticJsonRawDataPayloadParser payloadParser;
2424

25-
public LunaticJsonRawDataConverter(SurveyUnitService surveyUnitService, LunaticJsonRawDataPayloadParser lunaticJsonRawDataPayloadParser) {
26-
super(surveyUnitService);
25+
public LunaticJsonRawDataConverter(SurveyUnitApiPort surveyUnitApiPort,
26+
LunaticJsonRawDataPayloadParser lunaticJsonRawDataPayloadParser) {
27+
super(surveyUnitApiPort);
2728
this.payloadParser = lunaticJsonRawDataPayloadParser;
2829
}
2930

src/main/java/fr/insee/genesis/domain/converter/rawdata/RawDataConverter.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import fr.insee.genesis.domain.model.surveyunit.SurveyUnitModel;
88
import fr.insee.genesis.domain.model.surveyunit.VariableModel;
99
import fr.insee.genesis.domain.model.surveyunit.rawdata.RawDataModelType;
10-
import fr.insee.genesis.domain.service.surveyunit.SurveyUnitService;
10+
import fr.insee.genesis.domain.ports.api.SurveyUnitApiPort;
1111
import fr.insee.genesis.domain.utils.GroupUtils;
1212
import fr.insee.genesis.domain.utils.JsonUtils;
1313
import jakarta.validation.constraints.NotNull;
@@ -28,11 +28,12 @@
2828
@Slf4j
2929
@Component
3030
public abstract class RawDataConverter {
31-
private final SurveyUnitService surveyUnitService;
31+
@SuppressWarnings("FieldMayBeFinal") //Final would break RawDataConverterTest
32+
private SurveyUnitApiPort surveyUnitApiPort;
3233

3334
@Autowired
34-
public RawDataConverter(SurveyUnitService surveyUnitService) {
35-
this.surveyUnitService = surveyUnitService;
35+
public RawDataConverter(SurveyUnitApiPort surveyUnitApiPort) {
36+
this.surveyUnitApiPort = surveyUnitApiPort;
3637
}
3738

3839
/**
@@ -46,7 +47,7 @@ protected Map<String, Map<DataState, SurveyUnitModel>> getLastSurveyUnitModels(
4647
) {
4748
Set<String> interrogationIdsSet = new HashSet<>(interrogationIds);
4849

49-
List<SurveyUnitModel> surveyUnitModels = surveyUnitService.findLatestByInterrogationIds(
50+
List<SurveyUnitModel> surveyUnitModels = surveyUnitApiPort.findLatestByInterrogationIds(
5051
questionnaireOrCollectionInstrumentId,
5152
interrogationIdsSet
5253
);

src/main/java/fr/insee/genesis/domain/converter/rawdata/RawResponseRawDataConverter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import fr.insee.genesis.domain.model.surveyunit.rawdata.RawDataModelType;
77
import fr.insee.genesis.domain.model.surveyunit.rawdata.RawResponseModel;
88
import fr.insee.genesis.domain.parser.rawdata.RawResponsePayloadParser;
9+
import fr.insee.genesis.domain.ports.api.SurveyUnitApiPort;
910
import fr.insee.genesis.domain.service.surveyunit.SurveyUnitService;
1011
import fr.insee.modelefiliere.RawResponseDto;
1112
import lombok.extern.slf4j.Slf4j;
@@ -23,8 +24,9 @@ public class RawResponseRawDataConverter extends RawDataConverter {
2324

2425
private final RawResponsePayloadParser rawResponsePayloadParser;
2526

26-
public RawResponseRawDataConverter(SurveyUnitService surveyUnitService, RawResponsePayloadParser rawResponsePayloadParser) {
27-
super(surveyUnitService);
27+
public RawResponseRawDataConverter(SurveyUnitApiPort surveyUnitApiPort,
28+
RawResponsePayloadParser rawResponsePayloadParser) {
29+
super(surveyUnitApiPort);
2830
this.rawResponsePayloadParser = rawResponsePayloadParser;
2931
}
3032

src/main/java/fr/insee/genesis/domain/utils/DataVerifier.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,7 @@ private static void collectedVariablesManagement(List<SurveyUnitModel> srcSurvey
153153
{
154154
VariableModel correctedCollectedVariable = verifyVariable(
155155
collectedVariableToVerify.variableModel(),
156-
variablesMap.getVariable(collectedVariableToVerify.variableModel().varId()),
157-
collectedVariableToVerify.dataState()
156+
variablesMap.getVariable(collectedVariableToVerify.variableModel().varId())
158157
);
159158

160159
if(correctedCollectedVariable != null){
@@ -191,14 +190,9 @@ private static void addIteration(VariableModel variableToCheck,
191190

192191
private static VariableModel verifyVariable(
193192
VariableModel variableModel,
194-
fr.insee.bpm.metadata.model.Variable variableDefinition,
195-
DataState dataState
193+
fr.insee.bpm.metadata.model.Variable variableDefinition
196194
) {
197-
//null values are OK
198-
if(variableModel.value() == null){
199-
return null;
200-
}
201-
if(isParseError(variableModel.value(), variableDefinition.getType(),dataState)){
195+
if(isParseError(variableModel.value(), variableDefinition.getType())){
202196
return VariableModel.builder()
203197
.varId(variableModel.varId())
204198
.value("")
@@ -223,8 +217,7 @@ private static void externalVariablesManagement(List<SurveyUnitModel> srcSuModel
223217
if(variablesMap.hasVariable(externalVariable.varId())) {
224218
VariableModel correctedExternalVariable = verifyVariable(
225219
externalVariable,
226-
variablesMap.getVariable(externalVariable.varId()),
227-
state
220+
variablesMap.getVariable(externalVariable.varId())
228221
);
229222
if (correctedExternalVariable != null) {
230223
correctedExternalVariables.add(correctedExternalVariable);
@@ -238,15 +231,12 @@ private static void externalVariablesManagement(List<SurveyUnitModel> srcSuModel
238231
* Use the correct parser and try to parse
239232
* @param value value to verify
240233
* @param type type of the variable
241-
* @param state state of the data where the variable is contained in
242234
* @return true if the value is not conform to the variable type
243235
*/
244-
private static boolean isParseError(String value, VariableType type, DataState state){
236+
private static boolean isParseError(String value, VariableType type){
245237
//Allow null values
246238
if(value == null){
247-
return !(state.equals(DataState.EDITED)
248-
|| state.equals(DataState.FORCED)
249-
|| state.equals(DataState.FORMATTED)); //Return false if datastate one of those
239+
return false;
250240
}
251241
switch(type){
252242
case BOOLEAN:

src/test/java/fr/insee/genesis/controller/rest/ControllerAccessIT.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import fr.insee.genesis.domain.ports.api.RawResponseApiPort;
77
import fr.insee.genesis.domain.ports.api.SurveyUnitApiPort;
88
import fr.insee.genesis.domain.service.surveyunit.SurveyUnitQualityToolService;
9+
import fr.insee.genesis.domain.service.surveyunit.SurveyUnitService;
910
import fr.insee.genesis.infrastructure.repository.RawResponseInputRepository;
1011
import org.junit.jupiter.api.Assertions;
1112
import org.junit.jupiter.api.DisplayName;
@@ -54,6 +55,7 @@ class ControllerAccessIT extends IntegrationTestAbstract {
5455
private RawResponseInputRepository rawRepository;
5556
@MockitoBean
5657
private SurveyUnitQualityToolService surveyUnitQualityToolService;
58+
5759
/**
5860
* Provides a stream of URIs that are allowed for reader.
5961
*/

src/test/java/fr/insee/genesis/domain/utils/DataVerifierTest.java

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -255,59 +255,7 @@ void shouldCorrectInvalidIterationOnFormattedSurveyUnit() {
255255
}
256256

257257
@ParameterizedTest
258-
@EnumSource(value = DataState.class, names = {"EDITED", "FORCED", "FORMATTED"}, mode = EnumSource.Mode.EXCLUDE)
259-
void shouldCreateFormattedIfNull(DataState dataState) {
260-
String variableName = "varnull";
261-
for(VariableType variableType : VariableType.values()){
262-
if(variableType.equals(VariableType.STRING)){
263-
continue; //Skip STRING
264-
}
265-
variablesMap.removeVariable(variableName);
266-
267-
// GIVEN
268-
Variable variableDefinition = new Variable(
269-
variableName,
270-
new MetadataModel().getRootGroup(),
271-
variableType
272-
);
273-
variablesMap.putVariable(variableDefinition);
274-
275-
// Add null value
276-
surveyUnits.clear();
277-
VariableModel collectedVariable1 = VariableModel.builder()
278-
.varId(variableName)
279-
.value(null)
280-
.scope(Constants.ROOT_GROUP_NAME)
281-
.iteration(1)
282-
.build();
283-
SurveyUnitModel surveyUnit = SurveyUnitModel.builder()
284-
.interrogationId("UE1100000001")
285-
.collectionInstrumentId("Quest1")
286-
.state(dataState)
287-
.collectedVariables(List.of(collectedVariable1))
288-
.externalVariables(List.of())
289-
.build();
290-
surveyUnits.add(surveyUnit);
291-
292-
// WHEN
293-
DataVerifier.verifySurveyUnits(surveyUnits, variablesMap);
294-
295-
// THEN FORMATTED values added
296-
try{
297-
Assertions.assertTrue(surveyUnits.size() > 1);
298-
SurveyUnitModel formattedUnit = surveyUnits.get(1);
299-
Assertions.assertEquals(DataState.FORMATTED, formattedUnit.getState());
300-
Assertions.assertEquals(1, formattedUnit.getCollectedVariables().size());
301-
Assertions.assertEquals("", formattedUnit.getCollectedVariables().getFirst().value()); // Corrected value
302-
}catch (AssertionFailedError afe){
303-
log.error("Failed on type {}", variableType);
304-
throw afe;
305-
}
306-
}
307-
}
308-
309-
@ParameterizedTest
310-
@EnumSource(value = DataState.class, names = {"EDITED", "FORCED", "FORMATTED"})
258+
@EnumSource(value = DataState.class)
311259
void shouldNotCreateFormattedIfNull(DataState dataState) {
312260
String variableName = "varnull";
313261
for(VariableType variableType : VariableType.values()){

0 commit comments

Comments
 (0)