From 244720cf465a6371515249db684934f5cceb9fe8 Mon Sep 17 00:00:00 2001
From: Jan Zickermann <jan.zickermann@dataport.de>
Date: Thu, 26 Sep 2024 15:19:41 +0200
Subject: [PATCH] OZG-6754 KOP-2703 foerdermittel: Test with valid
 behoerdenkennung name

---
 ...ava => XdomeaXtaMessageCreatorITCase.java} | 35 ++++++++++++++-----
 .../valid-behoerdenkennung-name.patch         | 16 +++++++++
 2 files changed, 42 insertions(+), 9 deletions(-)
 rename src/test/java/de/ozgcloud/xta/client/xdomea/{XdomeaXtaMessageFactoryITCase.java => XdomeaXtaMessageCreatorITCase.java} (83%)
 create mode 100644 src/test/resources/messages/dfoerdermittel/valid-behoerdenkennung-name.patch

diff --git a/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java b/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java
similarity index 83%
rename from src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java
rename to src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java
index 4005d3b..4859c4c 100644
--- a/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageFactoryITCase.java
+++ b/src/test/java/de/ozgcloud/xta/client/xdomea/XdomeaXtaMessageCreatorITCase.java
@@ -16,7 +16,7 @@ import de.ozgcloud.xta.client.extension.XtaMessageExampleLoader;
 import de.ozgcloud.xta.client.model.XtaFile;
 import lombok.SneakyThrows;
 
-class XdomeaXtaMessageFactoryITCase {
+class XdomeaXtaMessageCreatorITCase {
 
 	private XdomeaXtaMessageCreator creator;
 
@@ -82,6 +82,18 @@ class XdomeaXtaMessageFactoryITCase {
 					.isInstanceOf(ClientException.class);
 		}
 
+		@DisplayName("should not throw with valid message 0201")
+		@Test
+		void shouldNotThrowWithValidMessage0201() {
+			var validMessageZipFile = loadMessageFileWithPatch(
+					"dfoerdermittel",
+					"valid-behoerdenkennung-name.patch"
+			);
+
+			assertThatCode(() -> creator.createMessage(validMessageZipFile))
+					.doesNotThrowAnyException();
+		}
+
 		@DisplayName("should use message type code for 0401")
 		@Test
 		@SneakyThrows
@@ -97,14 +109,15 @@ class XdomeaXtaMessageFactoryITCase {
 		@Test
 		@SneakyThrows
 		void shouldThrowClientExceptionForInvalidMessage0401() {
-			var invalidMessageZipFile = XtaMessageExampleLoader.load(createExampleConfigBuilder()
-					.messageLabel("abgabe0401-kleiner-waffenschein")
-					.patchLabel("invalid-ProzessID.patch")
-					.build()).messageFile();
+			var invalidMessageZipFile = loadMessageFileWithPatch(
+					"abgabe0401-kleiner-waffenschein",
+					"invalid-ProzessID.patch"
+			);
 
 			assertThatThrownBy(() -> creator.createMessage(invalidMessageZipFile))
 					.isInstanceOf(ClientException.class);
 		}
+
 	}
 
 	private XtaMessageExampleLoader.MessageExampleConfig.MessageExampleConfigBuilder createExampleConfigBuilder() {
@@ -113,11 +126,15 @@ class XdomeaXtaMessageFactoryITCase {
 				.reader(READER_IDENTIFIER);
 	}
 
-	private XtaFile loadMessageFile(String messageLabel) {
-		var message = XtaMessageExampleLoader.load(createExampleConfigBuilder()
+	private XtaFile loadMessageFileWithPatch(String messageLabel, String patchLabel) {
+		return XtaMessageExampleLoader.load(createExampleConfigBuilder()
 				.messageLabel(messageLabel)
-				.build());
-		return message.messageFile();
+				.patchLabel(patchLabel)
+				.build()).messageFile();
+	}
+
+	private XtaFile loadMessageFile(String messageLabel) {
+		return loadMessageFileWithPatch(messageLabel, null);
 	}
 
 }
\ No newline at end of file
diff --git a/src/test/resources/messages/dfoerdermittel/valid-behoerdenkennung-name.patch b/src/test/resources/messages/dfoerdermittel/valid-behoerdenkennung-name.patch
new file mode 100644
index 0000000..61f1f06
--- /dev/null
+++ b/src/test/resources/messages/dfoerdermittel/valid-behoerdenkennung-name.patch
@@ -0,0 +1,16 @@
+diff --git a/src/test/resources/messages/dfoerdermittel/message/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.xml b/src/test/resources/messages/dfoerdermittel/message/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.xml
+index 7815e7b..23763f3 100644
+--- a/src/test/resources/messages/dfoerdermittel/message/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.xml
++++ b/src/test/resources/messages/dfoerdermittel/message/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.zip/d5be7468-e620-4126-a40e-61a7f9b46345_Geschaeftsgang.Geschaeftsgang.0201.xml
+@@ -12,9 +12,11 @@
+ 			<Behoerdenkennung>
+ 				<Kennung listURI="" listVersionID="">
+ 					<code xmlns="">${authorIdentifier.value}</code>
++					<name xmlns="">An optional description of the value</name>
+ 				</Kennung>
+ 				<Praefix listURI="" listVersionID="">
+ 					<code xmlns="">${authorIdentifier.prefix}</code>
++					<name xmlns="">An optional description of the prefix</name>
+ 				</Praefix>
+ 			</Behoerdenkennung>
+ 		</Absender>
-- 
GitLab