Skip to content
Snippets Groups Projects
Commit 799523e5 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4375 OZG-4867 CR

parent 4ffc39df
No related branches found
No related tags found
No related merge requests found
...@@ -7,11 +7,15 @@ import lombok.AccessLevel; ...@@ -7,11 +7,15 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor(access = AccessLevel.PRIVATE)
class ValueKeysRemover { class FormDataExportAdjuster {
static final String VALUE_KEY = "value"; static final String VALUE_KEY = "value";
public static Map<String, Object> removeValueKeys(Map<String, Object> formData) { public static Map<String, Object> adjustFormDataForExport(Map<String, Object> formData) {
return removeValueKeys(formData);
}
static Map<String, Object> removeValueKeys(Map<String, Object> formData) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
for (var entry : formData.entrySet()) { for (var entry : formData.entrySet()) {
result.put(entry.getKey(), removeValueKeysFromValue(entry.getValue())); result.put(entry.getKey(), removeValueKeysFromValue(entry.getValue()));
...@@ -25,12 +29,12 @@ class ValueKeysRemover { ...@@ -25,12 +29,12 @@ class ValueKeysRemover {
return value; return value;
} }
Map<String, Object> formData = (Map<String, Object>) value; Map<String, Object> formData = (Map<String, Object>) value;
return containsValueKeyAsSingleEntry(formData) ? return containsValueKeyOnly(formData) ?
removeValueKeysFromValue(formData.get(VALUE_KEY)) : removeValueKeysFromValue(formData.get(VALUE_KEY)) :
removeValueKeys(formData); removeValueKeys(formData);
} }
private static boolean containsValueKeyAsSingleEntry(Map<String, Object> formData) { private static boolean containsValueKeyOnly(Map<String, Object> formData) {
return formData.containsKey(VALUE_KEY) && formData.size() == 1; return formData.containsKey(VALUE_KEY) && formData.size() == 1;
} }
} }
...@@ -32,7 +32,7 @@ class FormDataMapper { ...@@ -32,7 +32,7 @@ class FormDataMapper {
public Antragsdaten toAntragsdaten(@NotNull VorgangWithEingang vorgang) { public Antragsdaten toAntragsdaten(@NotNull VorgangWithEingang vorgang) {
return Optional.ofNullable(vorgang.getEingang()) return Optional.ofNullable(vorgang.getEingang())
.map(Eingang::getFormData) .map(Eingang::getFormData)
.map(ValueKeysRemover::removeValueKeys) .map(FormDataExportAdjuster::adjustFormDataForExport)
.map(this::buildAntragsdaten) .map(this::buildAntragsdaten)
.orElseGet(Antragsdaten::new); .orElseGet(Antragsdaten::new);
} }
......
package de.ozgcloud.alfa.vorgang; package de.ozgcloud.alfa.vorgang;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.Map; import java.util.Map;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.MockedStatic;
public class ValueKeysRemoverTest { public class FormDataExportAdjusterTest {
@Nested
class TestAdjustFormDataForExport {
private final Map<String, Object> formData = Map.of("key", "value");
@Test
void shouldCallRemoveValueKeys() {
try (MockedStatic<FormDataExportAdjuster> adjusterMock = mockStatic(FormDataExportAdjuster.class)) {
adjusterMock.when(() -> FormDataExportAdjuster.adjustFormDataForExport(any())).thenCallRealMethod();
FormDataExportAdjuster.adjustFormDataForExport(formData);
adjusterMock.verify(() -> FormDataExportAdjuster.removeValueKeys(formData));
}
}
}
@Nested @Nested
class TestRemoveValueKeys { class TestRemoveValueKeys {
...@@ -16,7 +35,7 @@ public class ValueKeysRemoverTest { ...@@ -16,7 +35,7 @@ public class ValueKeysRemoverTest {
void shouldPreserveValueKeyWithoutParent() { void shouldPreserveValueKeyWithoutParent() {
Map<String, Object> formData = Map.of("value", "Kiel"); Map<String, Object> formData = Map.of("value", "Kiel");
var formDataWithoutValueKeys = ValueKeysRemover.removeValueKeys(formData); var formDataWithoutValueKeys = FormDataExportAdjuster.removeValueKeys(formData);
assertThat(formDataWithoutValueKeys).isEqualTo(formData); assertThat(formDataWithoutValueKeys).isEqualTo(formData);
} }
...@@ -26,7 +45,7 @@ public class ValueKeysRemoverTest { ...@@ -26,7 +45,7 @@ public class ValueKeysRemoverTest {
Map<String, Object> formData = Map.of("ort", Map.of("value", "Kiel")); Map<String, Object> formData = Map.of("ort", Map.of("value", "Kiel"));
Map<String, Object> expected = Map.of("ort", "Kiel"); Map<String, Object> expected = Map.of("ort", "Kiel");
var formDataWithoutValueKeys = ValueKeysRemover.removeValueKeys(formData); var formDataWithoutValueKeys = FormDataExportAdjuster.removeValueKeys(formData);
assertThat(formDataWithoutValueKeys).isEqualTo(expected); assertThat(formDataWithoutValueKeys).isEqualTo(expected);
} }
...@@ -35,7 +54,7 @@ public class ValueKeysRemoverTest { ...@@ -35,7 +54,7 @@ public class ValueKeysRemoverTest {
void shouldPreserveValueKeyIfHasSiblings() { void shouldPreserveValueKeyIfHasSiblings() {
Map<String, Object> formData = Map.of("ort", Map.of("value", "Kiel", "value2", "Kiel")); Map<String, Object> formData = Map.of("ort", Map.of("value", "Kiel", "value2", "Kiel"));
var formDataWithoutValueKeys = ValueKeysRemover.removeValueKeys(formData); var formDataWithoutValueKeys = FormDataExportAdjuster.removeValueKeys(formData);
assertThat(formDataWithoutValueKeys).isEqualTo(formData); assertThat(formDataWithoutValueKeys).isEqualTo(formData);
} }
...@@ -46,7 +65,7 @@ public class ValueKeysRemoverTest { ...@@ -46,7 +65,7 @@ public class ValueKeysRemoverTest {
Map.of("value", Map.of("OrganisationseinheitenAuswahl", Map.of("value", "123456")))); Map.of("value", Map.of("OrganisationseinheitenAuswahl", Map.of("value", "123456"))));
Map<String, Object> expected = Map.of("empfangendestelle", Map.of("OrganisationseinheitenAuswahl", "123456")); Map<String, Object> expected = Map.of("empfangendestelle", Map.of("OrganisationseinheitenAuswahl", "123456"));
var formDataWithoutValueKeys = ValueKeysRemover.removeValueKeys(formData); var formDataWithoutValueKeys = FormDataExportAdjuster.removeValueKeys(formData);
assertThat(formDataWithoutValueKeys).isEqualTo(expected); assertThat(formDataWithoutValueKeys).isEqualTo(expected);
} }
......
...@@ -45,10 +45,10 @@ class FormDataMapperTest { ...@@ -45,10 +45,10 @@ class FormDataMapperTest {
@Test @Test
void shouldCallBuildAntragsdaten() { void shouldCallBuildAntragsdaten() {
try (MockedStatic<ValueKeysRemover> valueKeysRemover = mockStatic(ValueKeysRemover.class)) { try (MockedStatic<FormDataExportAdjuster> valueKeysRemover = mockStatic(FormDataExportAdjuster.class)) {
var vorgang = VorgangWithEingangTestFactory.create(); var vorgang = VorgangWithEingangTestFactory.create();
Map<String, Object> formDataWithoutValueKeys = Map.of(UUID.randomUUID().toString(), "value1"); Map<String, Object> formDataWithoutValueKeys = Map.of(UUID.randomUUID().toString(), "value1");
valueKeysRemover.when(() -> ValueKeysRemover.removeValueKeys(any())).thenReturn(formDataWithoutValueKeys); valueKeysRemover.when(() -> FormDataExportAdjuster.adjustFormDataForExport(any())).thenReturn(formDataWithoutValueKeys);
doReturn(new Object()).when(formDataMapper).formatValue(any(), any()); doReturn(new Object()).when(formDataMapper).formatValue(any(), any());
formDataMapper.toAntragsdaten(vorgang); formDataMapper.toAntragsdaten(vorgang);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment