From 711e4844486473c0033f595c093c3ce3d3d0eeea Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 15 Aug 2024 11:17:22 +0200
Subject: [PATCH] =?UTF-8?q?WIP:=20OZG-6275=20Fehlende,=20n=C3=B6tige=20Wer?=
 =?UTF-8?q?te=20hinzugef=C3=BCgt.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../muk/transfer/ElsterRestClient.java        |  1 +
 .../transfer/ElsterTransferRemoteService.java |  1 +
 .../ElsterTransferRemoteServiceTest.java      | 60 ++++++++++++++++++-
 3 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterRestClient.java b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterRestClient.java
index 191bfb4..79edf8e 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterRestClient.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterRestClient.java
@@ -69,6 +69,7 @@ public class ElsterRestClient {
 	}
 
 	<T> T getForObject(String url, Class<T> clazz) {
+		LOG.info("Loading {} from address {}", clazz.getName(), url);
 		return restClient
 		  .get()
 		  .uri(url)
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java
index 72f4a0b..eeeec4f 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java
@@ -212,6 +212,7 @@ public class ElsterTransferRemoteService {
 
 		var nachrichtBuilder = PostfachNachricht.builder()
 		  .direction(PostfachNachricht.Direction.IN)
+		  .subject(postfachProperties.getReplySubjectPrefix())
 		  .mailBody(postfachProperties.getBody());
 
 		if (Objects.nonNull(antwortDetails.getZuordnungskriterium()) && CollectionUtils.isNotEmpty(antwortDetails.getAnhaenge())) {
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java
index 2229a4b..e3864d0 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java
@@ -263,6 +263,7 @@ class ElsterTransferRemoteServiceTest {
 	@Nested
 	class TestLoadingAntwort {
 		byte[] data = "test data".getBytes();
+
 		@Test
 		void shouldLoadAntwort() {
 			var antwort = elsterTransferService.getAntwort(AntwortDetailsTestFactory.create());
@@ -293,7 +294,8 @@ class ElsterTransferRemoteServiceTest {
 		private void setupForAttachments() {
 			when(postfachProperties.getServer()).thenReturn("http://localhost");
 			when(restClient.getForObject(matches(postfachProperties.getServer() + DOWNLOAD_URI), any())).thenReturn("Test,Data".getBytes());
-			when(attachmentService.store(any(), any())).thenReturn(OzgCloudFileId.from(ObjectIdToUUIDConverter.toUUID(new ObjectId().toHexString()).toString()));
+			when(attachmentService.store(any(), any())).thenReturn(
+			  OzgCloudFileId.from(ObjectIdToUUIDConverter.toUUID(new ObjectId().toHexString()).toString()));
 		}
 
 		@Test
@@ -373,9 +375,65 @@ class ElsterTransferRemoteServiceTest {
 		}
 	}
 
+	@Nested
+	class TestCreatingNachricht {
+		PostfachNachricht nachricht;
+
+		@BeforeEach
+		void setUp() {
+			when(elsterTransferService.loadAntworten()).thenReturn(AntwortDetailsTestFactory.createAntwortDetailsList());
+			when(postfachProperties.getReplySubjectPrefix()).thenReturn("Antwort");
+			when(postfachProperties.getBody()).thenReturn("Body");
+			nachricht = elsterTransferService.getAllMessages().toList().getFirst();
+		}
+		/*PostfachNachricht.FIELD_VORGANG_ID, nachricht.getVorgangId(),
+		PostfachNachricht.FIELD_CREATED_AT, nachricht.getCreatedAt().format(DateTimeFormatter.ISO_DATE_TIME),
+		PostfachNachricht.FIELD_DIRECTION, nachricht.getDirection().name(),
+		PostfachNachricht.FIELD_REPLY_OPTION, nachricht.getReplyOption().name(),
+		PostfachNachricht.FIELD_SUBJECT, nachricht.getSubject(),
+		PostfachNachricht.FIELD_MAIL_BODY, nachricht.getMailBody(),
+		PostfachNachricht.FIELD_ATTACHMENTS, nachricht.getAttachments()));*/
+
+		@Test
+		void shouldHaveVorgangId() {
+			assertThat(nachricht.getVorgangId()).isNotNull();
+		}
+
+		@Test
+		void shouldHaveCreatedAt() {
+			assertThat(nachricht.getCreatedAt()).isNotNull();
+		}
+
+		@Test
+		void shouldHaveDirection() {
+			assertThat(nachricht.getDirection()).isEqualTo(PostfachNachricht.Direction.IN);
+		}
+
+		@Test
+		void shouldHaveReplyOption() {
+			assertThat(nachricht.getReplyOption()).isNotNull();
+		}
+
+		@Test
+		void shouldHaveSubject() {
+			assertThat(nachricht.getSubject()).isNotNull();
+		}
+
+		@Test
+		void shouldHaveMailBody() {
+			assertThat(nachricht.getMailBody()).isNotNull();
+		}
+
+		@Test
+		void shouldHaveAttachments() {
+			assertThat(nachricht.getAttachments()).isNotNull();
+		}
+	}
+
 	@Nested
 	class TestExceptionHandling {
 		byte[] data = "test data".getBytes();
+
 		@Test
 		void shouldThrowTechnicalExceptionOnUpload() throws IOException {
 			doThrow(IOException.class).when(elsterTransferService).uploadFile(any());
-- 
GitLab