From 4b917a9bd80d91e6edc7748dbb864265462de89b Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 26 Jan 2024 19:24:56 +0100 Subject: [PATCH] OZG-4693 apply mappers in engine based adapter --- .../FormCycleEngineBasedAdapter.java | 13 +++++++- .../FormCycleEngineBasedAdapterTest.java | 32 ++++++++++++++++--- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormCycleEngineBasedAdapter.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormCycleEngineBasedAdapter.java index 1c2264615..c56f0c00d 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormCycleEngineBasedAdapter.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormCycleEngineBasedAdapter.java @@ -23,14 +23,25 @@ */ package de.ozgcloud.eingang.semantik.enginebased.formcycle; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; + import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.semantik.enginebased.EngineBasedSemantikAdapter; public class FormCycleEngineBasedAdapter implements EngineBasedSemantikAdapter { + @Autowired + private List<FormcycleEngineBasedMapper> mappers; + @Override public FormData parseFormData(FormData formData) { - return formData; + var processed = formData; + for (var mapper : mappers) { + processed = mapper.parseFormData(processed); + } + return processed; } } diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormCycleEngineBasedAdapterTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormCycleEngineBasedAdapterTest.java index 09478d357..edd539003 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormCycleEngineBasedAdapterTest.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormCycleEngineBasedAdapterTest.java @@ -24,25 +24,47 @@ package de.ozgcloud.eingang.semantik.enginebased.formcycle; import static org.assertj.core.api.Assertions.*; +import static org.mockito.Mockito.*; +import java.util.List; + +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.springframework.test.util.ReflectionTestUtils; +import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormDataTestFactory; -import de.ozgcloud.eingang.semantik.enginebased.formcycle.FormCycleEngineBasedAdapter; class FormCycleEngineBasedAdapterTest { @InjectMocks private FormCycleEngineBasedAdapter adapter; + @Mock + private FormcycleEngineBasedMapper mapper; + @Mock + private FormData formData; + + @BeforeEach + void setup() { + ReflectionTestUtils.setField(adapter, "mappers", List.of(mapper)); + } + @Test - void shouldUnprocessedData() { - var formData = FormDataTestFactory.create(); + void shouldProcessedData() { + adapter.parseFormData(formData); - var result = adapter.parseFormData(formData); + verify(mapper).parseFormData(formData); + } + + @Test + void shouldRemoveProcessedData() { + when(mapper.parseFormData(any())).thenReturn(formData); + + var result = adapter.parseFormData(FormDataTestFactory.create()); assertThat(result).isSameAs(formData); } - } -- GitLab