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

OZG-4697 call header mapper if responsible

parent a971f840
No related branches found
No related tags found
No related merge requests found
package de.ozgcloud.eingang.semantik.enginebased.afm;
import org.springframework.stereotype.Component;
import de.ozgcloud.eingang.common.formdata.FormData;
@Component
public class AfmAntragstellerHeaderMapper {
public FormData parseAntragstellerData(FormData formData) {
return formData;
}
public boolean isResponsible(FormData formData) {
return false;
}
}
......@@ -31,6 +31,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import de.ozgcloud.eingang.common.formdata.Antragsteller;
......@@ -56,8 +57,14 @@ class AfmAntragstellerMapper implements AfmEngineBasedMapper {
static final String PLZ = "sh_plz";
static final String ORT = "ort";
@Autowired
private AfmAntragstellerHeaderMapper antragstellerHeaderMapper;
@Override
public FormData parseFormData(FormData formData) {
if (antragstellerHeaderMapper.isResponsible(formData)) {
return antragstellerHeaderMapper.parseAntragstellerData(formData);
}
var formDataMap = formData.getFormData();
var builder = Antragsteller.builder().postfachId(getPostfachId(formDataMap));
......
......@@ -24,6 +24,8 @@
package de.ozgcloud.eingang.semantik.enginebased.afm;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import java.util.HashMap;
import java.util.UUID;
......@@ -33,6 +35,9 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import de.ozgcloud.eingang.common.formdata.Antragsteller;
import de.ozgcloud.eingang.common.formdata.FormData;
......@@ -40,7 +45,11 @@ import de.ozgcloud.eingang.semantik.enginebased.afm.AfmAntragstellerMapper;
class AfmAntragstellerMapperTest {
private AfmAntragstellerMapper mapper = new AfmAntragstellerMapper();
@InjectMocks
private AfmAntragstellerMapper mapper;
@Mock
private AfmAntragstellerHeaderMapper antragstellerHeaderMapper;
private FormData formData = FormData.builder().formData(AfmAntragstellerTestFactory.createFormDataMap()).build();
......@@ -48,6 +57,17 @@ class AfmAntragstellerMapperTest {
@Nested
class TestParseFormData {
@Test
void shouldCallHeaderMapper() {
FormData expectedFormData = mock(FormData.class);
when(antragstellerHeaderMapper.isResponsible(any())).thenReturn(true);
when(antragstellerHeaderMapper.parseAntragstellerData(any())).thenReturn(expectedFormData);
var processedFormData = parseFormData(formData);
assertThat(processedFormData).isEqualTo(expectedFormData);
}
@Test
void shouldDoNothingOnNullAntragstaller() {
var formData = FormData.builder().formData(new HashMap<>()).build();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment