From 318a1ef348eef9d4ff81b45b5e1d21085a793bbf Mon Sep 17 00:00:00 2001
From: "Zickermann, Jan" <jan.zickermann@dataport.de>
Date: Tue, 30 Apr 2024 11:42:32 +0200
Subject: [PATCH] OZG-5413 Check isResponsible for mantelantrag

---
 .../MantelantragFormBasedMapper.java          |  7 +++-
 .../MantelantragFormBasedMapperTest.java      | 34 +++++++++++++++++++
 .../src/test/resources/application-itcase.yml |  2 +-
 3 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java
index f4ff12e73..dd7563185 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java
@@ -20,6 +20,8 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
 
 	private final Environment environment;
 
+	static final String MANTELANTRAG_FORM_ID = "maa_mantelantrag/maa_mantelantrag_pvog";
+
 	static final List<String> ZUSTELLUNG_NACHRICHTENBROKER_SLOTS = List.of(
 			"zustellung_nachrichtenbroker",
 			"zustellung_nachrichtenbroker2",
@@ -45,7 +47,10 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
 
 	@Override
 	public boolean isResponsible(FormData formData) {
-		return false;
+		return formData
+				.getHeader()
+				.getFormId()
+				.equals(MANTELANTRAG_FORM_ID);
 	}
 
 	String getOrganisationseinheitID(Map<String, Object> fieldMap) {
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapperTest.java
index e8f533444..e6ee3dcc6 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapperTest.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapperTest.java
@@ -21,6 +21,7 @@ import org.springframework.core.env.Environment;
 import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
+import de.ozgcloud.eingang.common.formdata.FormHeaderTestFactory;
 
 class MantelantragFormBasedMapperTest {
 	private final static String TARGET_OEID = "123456";
@@ -33,6 +34,39 @@ class MantelantragFormBasedMapperTest {
 	@Mock
 	private Environment environment;
 
+	@DisplayName("is responsible")
+	@Nested
+	class TestIsResponsible {
+
+		@DisplayName("should be true if mantelantrag form id")
+		@Test
+		void shouldBeTrueIfMantelantragFormId() {
+			var formData = createWithFormId(MANTELANTRAG_FORM_ID);
+
+			var isResponsibleResult = mapper.isResponsible(formData);
+
+			assertThat(isResponsibleResult).isTrue();
+		}
+
+		@DisplayName("should be false if not mantelantrag form id")
+		@Test
+		void shouldBeFalseIfNotMantelantragFormId() {
+			var formData = createWithFormId("any other id");
+
+			var isResponsibleResult = mapper.isResponsible(formData);
+
+			assertThat(isResponsibleResult).isFalse();
+		}
+
+		private FormData createWithFormId(String formId) {
+			return FormDataTestFactory.createBuilder()
+					.header(FormHeaderTestFactory.createBuilder()
+							.formId(formId)
+							.build())
+					.build();
+		}
+	}
+
 	@DisplayName("adapt form data")
 	@Nested
 	class TestAdaptFormData {
diff --git a/xta-adapter/src/test/resources/application-itcase.yml b/xta-adapter/src/test/resources/application-itcase.yml
index 3787fea5b..99b88fbe1 100644
--- a/xta-adapter/src/test/resources/application-itcase.yml
+++ b/xta-adapter/src/test/resources/application-itcase.yml
@@ -1,6 +1,6 @@
 ozgcloud:
   xta:
-    identifier: gae:jens.reese@mgm-tp.com
+    identifier: afmsh:010600000000_Online-Dienste
     server:
       address: localhost:3000
       name: LI33-0005
-- 
GitLab