From a7f0d764a01eb6961c625bd6c079749f8c35784c Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 9 Sep 2024 15:31:50 +0200
Subject: [PATCH] OZG-5899 map empty field to empty list

---
 .../main/java/de/ozgcloud/bescheid/BescheidMapper.java    | 2 +-
 .../java/de/ozgcloud/bescheid/BescheidMapperTest.java     | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidMapper.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidMapper.java
index 3e40177df..8abe425a3 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidMapper.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidMapper.java
@@ -93,7 +93,7 @@ public interface BescheidMapper {
 	}
 
 	default Optional<List<FileId>> mapToAttachments(Object attachments) {
-		if (Objects.isNull(attachments)) {
+		if (Objects.isNull(attachments) || StringUtils.isEmpty(String.valueOf(attachments))) {
 			return Optional.empty();
 		}
 		if (attachments instanceof Collection<?> attachmentList) {
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidMapperTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidMapperTest.java
index 0abec882c..8feda3dfe 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidMapperTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidMapperTest.java
@@ -7,6 +7,7 @@ import static org.mockito.Mockito.*;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -99,6 +100,13 @@ class BescheidMapperTest {
 
 			assertThat(attachments).hasValue(Collections.singletonList(BescheidTestFactory.ATTACHMENT));
 		}
+
+		@Test
+		void shouldMapEmptyStringToEmptyList() {
+			var attachments = mapper.mapToAttachments(StringUtils.EMPTY);
+
+			assertThat(attachments).isEmpty();
+		}
 	}
 
 	@DisplayName("To get bescheid draft response")
-- 
GitLab