From 89c2e3a55c5f53c5e34d57eeaf8acdeca3c1fef5 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 28 Jun 2023 15:53:18 +0200
Subject: [PATCH] prj-42 fix handling of vorgang id

---
 .../java/de/ozgcloud/bescheid/nachricht/Nachricht.java    | 2 ++
 .../bescheid/nachricht/NachrichtRemoteService.java        | 2 +-
 .../de/ozgcloud/bescheid/nachricht/NachrichtService.java  | 1 +
 .../de/ozgcloud/bescheid/BescheidEventListenerTest.java   | 6 +++++-
 .../java/de/ozgcloud/bescheid/BescheidServiceTest.java    | 4 ++--
 .../java/de/ozgcloud/bescheid/BescheidTestFactory.java    | 5 ++++-
 .../bescheid/nachricht/NachrichtRemoteServiceTest.java    | 5 +++--
 .../ozgcloud/bescheid/nachricht/NachrichtServiceTest.java | 8 ++++++++
 .../ozgcloud/bescheid/nachricht/NachrichtTestFactory.java | 2 ++
 9 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/Nachricht.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/Nachricht.java
index d06711774..5fae54bfd 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/Nachricht.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/Nachricht.java
@@ -2,6 +2,7 @@ package de.ozgcloud.bescheid.nachricht;
 
 import de.itvsh.kop.common.binaryfile.FileId;
 import de.ozgcloud.bescheid.UserId;
+import de.ozgcloud.bescheid.vorgang.VorgangId;
 import lombok.Builder;
 import lombok.Getter;
 import lombok.NonNull;
@@ -11,6 +12,7 @@ import lombok.NonNull;
 public class Nachricht {
 
 	private NachrichtId id;
+	private VorgangId vorgangId;
 
 	@NonNull
 	private String subject;
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/NachrichtRemoteService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/NachrichtRemoteService.java
index 21a5fa484..cedc6410f 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/NachrichtRemoteService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/NachrichtRemoteService.java
@@ -24,7 +24,7 @@ class NachrichtRemoteService {
 
 	GrpcSaveNachrichtDraftRequest buildRequest(Nachricht nachricht) {
 		return GrpcSaveNachrichtDraftRequest.newBuilder()
-				.setCreateFor(nachricht.getCreatedBy().toString())
+				.setVorgangId(nachricht.getVorgangId().toString())
 				.setNachricht(mapper.mapToGrpc(nachricht))
 				.build();
 	}
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/NachrichtService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/NachrichtService.java
index 8f79e54f5..d741bbeed 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/NachrichtService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/nachricht/NachrichtService.java
@@ -31,6 +31,7 @@ public class NachrichtService {
 
 	Nachricht buildNachricht(Bescheid bescheid) {
 		return Nachricht.builder()
+				.vorgangId(bescheid.getVorgangId())
 				.subject(SUBJECT)
 				.mailBody(buildMessage(bescheid))
 				.createdBy(bescheid.getCreatedBy())
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java
index fb958be97..2166bda98 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerTest.java
@@ -26,6 +26,7 @@ import de.itvsh.ozg.pluto.command.CommandTestFactory;
 import de.ozgcloud.bescheid.binaryfile.BinaryFileService;
 import de.ozgcloud.bescheid.common.callcontext.CurrentUserService;
 import de.ozgcloud.bescheid.nachricht.NachrichtService;
+import de.ozgcloud.bescheid.vorgang.VorgangId;
 
 class BescheidEventListenerTest {
 
@@ -126,7 +127,10 @@ class BescheidEventListenerTest {
 				listener.doCreateBescheidBiz(command);
 
 				verify(service).createBescheid(requestCaptor.capture());
-				assertThat(requestCaptor.getValue()).usingRecursiveComparison().isEqualTo(BescheidRequestTestFactory.create());
+				assertThat(requestCaptor.getValue()).usingRecursiveComparison()
+						.isEqualTo(BescheidRequestTestFactory.createBuilder()
+								.vorgangId(VorgangId.from(CommandTestFactory.VORGANG_ID))
+								.build());
 			}
 
 			@Test
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidServiceTest.java
index 995b3d624..afbc1a5a9 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidServiceTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidServiceTest.java
@@ -28,7 +28,7 @@ class BescheidServiceTest {
 	class TestCreateBescheid {
 
 		private Vorgang vorgang = VorgangTestFactory.create();
-		private Bescheid bescheid = BescheidTestFactory.create();
+		private Bescheid bescheid = BescheidTestFactory.createBuilder().vorgangId(null).build();
 
 		@BeforeEach
 		void initMocks() {
@@ -56,7 +56,7 @@ class BescheidServiceTest {
 		void shouldReturnCreatedBescheid() {
 			var result = service.createBescheid(BescheidRequestTestFactory.create());
 
-			assertThat(result).isSameAs(bescheid);
+			assertThat(result).usingRecursiveComparison().isEqualTo(BescheidTestFactory.create());
 		}
 	}
 
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestFactory.java
index 853704510..20384e16e 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestFactory.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestFactory.java
@@ -2,6 +2,8 @@ package de.ozgcloud.bescheid;
 
 import java.util.UUID;
 
+import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
+
 public class BescheidTestFactory {
 
 	public static final UserId CREATED_BY = UserId.from(UUID.randomUUID().toString());
@@ -12,6 +14,7 @@ public class BescheidTestFactory {
 
 	public static Bescheid.BescheidBuilder createBuilder() {
 		return Bescheid.builder()
-				.createdBy(CREATED_BY);
+				.createdBy(CREATED_BY)
+				.vorgangId(VorgangTestFactory.ID);
 	}
 }
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtRemoteServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtRemoteServiceTest.java
index 14125bfd2..b5231280f 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtRemoteServiceTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtRemoteServiceTest.java
@@ -11,6 +11,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 
 import de.itvsh.ozg.mail.postfach.GrpcPostfachNachricht;
+import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
 
 class NachrichtRemoteServiceTest {
 
@@ -47,10 +48,10 @@ class NachrichtRemoteServiceTest {
 			}
 
 			@Test
-			void shouldSetUserId() {
+			void shouldSetVorgangId() {
 				var request = remoteService.buildRequest(nachricht);
 
-				assertThat(request.getCreateFor()).isEqualTo(NachrichtTestFactory.CREATED_BY.toString());
+				assertThat(request.getVorgangId()).isEqualTo(VorgangTestFactory.ID.toString());
 			}
 		}
 	}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtServiceTest.java
index 9ea979463..5ccf09378 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtServiceTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtServiceTest.java
@@ -12,6 +12,7 @@ import org.mockito.Mock;
 import org.mockito.Spy;
 
 import de.ozgcloud.bescheid.BescheidTestFactory;
+import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
 
 class NachrichtServiceTest {
 
@@ -64,6 +65,13 @@ class NachrichtServiceTest {
 
 				assertThat(nachricht.getCreatedBy()).isEqualTo(BescheidTestFactory.CREATED_BY);
 			}
+
+			@Test
+			void shouldSetVorgangId() {
+				var nachricht = service.buildNachricht(BescheidTestFactory.create());
+
+				assertThat(nachricht.getVorgangId()).isEqualTo(VorgangTestFactory.ID);
+			}
 		}
 
 	}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtTestFactory.java
index e6ef19291..f44d2c072 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtTestFactory.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/nachricht/NachrichtTestFactory.java
@@ -3,6 +3,7 @@ package de.ozgcloud.bescheid.nachricht;
 import java.util.UUID;
 
 import de.ozgcloud.bescheid.UserId;
+import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
 
 public class NachrichtTestFactory {
 
@@ -20,6 +21,7 @@ public class NachrichtTestFactory {
 	public static Nachricht.NachrichtBuilder createBuilder() {
 		return Nachricht.builder()
 				.id(ID)
+				.vorgangId(VorgangTestFactory.ID)
 				.subject(SUBJECT)
 				.mailBody(MAIL_BODY)
 				.createdBy(CREATED_BY);
-- 
GitLab