From e4c0844598fa164ac0e0ccd326b556cddba7e3d9 Mon Sep 17 00:00:00 2001
From: Krzysztof <krzysztof.witukiewicz@mgm-tp.com>
Date: Wed, 19 Mar 2025 11:23:03 +0100
Subject: [PATCH] OZG-7573 OZG-7923 More tests

---
 .../redirect/ForwardingRemoteServiceTest.java | 58 ++++++++++++++++++-
 ...GrpcRouteForwardingRequestTestFactory.java |  3 +-
 2 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingRemoteServiceTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingRemoteServiceTest.java
index df3940325..bef62d1fa 100644
--- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingRemoteServiceTest.java
+++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingRemoteServiceTest.java
@@ -34,8 +34,12 @@ import org.mockito.Mock;
 import org.mockito.Spy;
 
 import de.ozgcloud.eingang.forwarder.RouteForwardingServiceGrpc;
+import de.ozgcloud.eingang.forwarding.GrpcRouteForwarding;
 import de.ozgcloud.eingang.forwarding.GrpcRouteForwardingRequest;
 import de.ozgcloud.vorgang.callcontext.VorgangManagerClientCallContextAttachingInterceptor;
+import de.ozgcloud.vorgang.vorgang.Eingang;
+import de.ozgcloud.vorgang.vorgang.EingangTestFactory;
+import de.ozgcloud.vorgang.vorgang.Vorgang;
 import de.ozgcloud.vorgang.vorgang.VorgangService;
 import de.ozgcloud.vorgang.vorgang.VorgangTestFactory;
 import de.ozgcloud.vorgang.vorgang.redirect.ForwardingRemoteService.ForwardingResponseObserver;
@@ -46,7 +50,7 @@ class ForwardingRemoteServiceTest {
 	@Mock
 	private VorgangService vorgangService;
 	@Mock
-	private ForwardingRemoteService forwardingRemoteService;
+	private ForwardingRequestMapper forwardingRequestMapper;
 	@Mock
 	private RouteForwardingServiceGrpc.RouteForwardingServiceStub serviceStub;
 	@Spy
@@ -56,10 +60,13 @@ class ForwardingRemoteServiceTest {
 	@Mock
 	private StreamObserver<GrpcRouteForwardingRequest> requestObserver;
 	private final ForwardingRequest request = ForwardingRequestTestFactory.create();
+	private final Eingang eingang = EingangTestFactory.create();
+	private final Vorgang vorgang = VorgangTestFactory.createBuilder().clearEingangs().eingang(eingang).build();
 
 	@Nested
 	class TestForward {
 
+
 	}
 
 	@Nested
@@ -156,10 +163,12 @@ class ForwardingRemoteServiceTest {
 	@Nested
 	class TestSendEingang {
 
+		private final GrpcRouteForwardingRequest routeForwardingRequest = GrpcRouteForwardingRequestTestFactory.create();
+
 		@BeforeEach
 		void init() {
-			when(vorgangService.getById(any())).thenReturn(VorgangTestFactory.create());
-			doReturn(GrpcRouteForwardingRequestTestFactory.create()).when(service).buildRouteForwardingRequest(any(), any());
+			when(vorgangService.getById(any())).thenReturn(vorgang);
+			doReturn(routeForwardingRequest).when(service).buildRouteForwardingRequest(any(), any());
 		}
 
 		@Test
@@ -169,8 +178,51 @@ class ForwardingRemoteServiceTest {
 			verify(vorgangService).getById(VorgangTestFactory.ID);
 		}
 
+		@Test
+		void shouldBuildRouteForwardingRequest() {
+			sendEingang();
+
+			verify(service).buildRouteForwardingRequest(request, eingang);
+		}
+
+		@Test
+		void shouldSendForwardingRequest() {
+			sendEingang();
+
+			verify(requestObserver).onNext(routeForwardingRequest);
+		}
+
 		private void sendEingang() {
 			service.sendEingang(request, requestObserver);
 		}
 	}
+
+	@Nested
+	class TestBuildRouteForwardingRequest {
+
+		private final GrpcRouteForwarding routeForwarding = GrpcRouteForwardingTestFactory.create();
+
+		@BeforeEach
+		void init() {
+			when(forwardingRequestMapper.toGrpcRouteForwarding(any(), any())).thenReturn(routeForwarding);
+		}
+
+		@Test
+		void shouldMapToRouteForwarding() {
+			buildRouteForwardingRequest();
+
+			verify(forwardingRequestMapper).toGrpcRouteForwarding(request, eingang);
+		}
+
+		@Test
+		void shouldReturnRouteForwardingRequest() {
+			var builtRequest = buildRouteForwardingRequest();
+
+			assertThat(builtRequest).isEqualTo(GrpcRouteForwardingRequestTestFactory.create());
+		}
+
+		private GrpcRouteForwardingRequest buildRouteForwardingRequest() {
+			return service.buildRouteForwardingRequest(request, eingang);
+		}
+	}
 }
diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/GrpcRouteForwardingRequestTestFactory.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/GrpcRouteForwardingRequestTestFactory.java
index d09b7af52..bd937f978 100644
--- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/GrpcRouteForwardingRequestTestFactory.java
+++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/GrpcRouteForwardingRequestTestFactory.java
@@ -32,6 +32,7 @@ class GrpcRouteForwardingRequestTestFactory {
 	}
 
 	public static GrpcRouteForwardingRequest.Builder createBuilder() {
-		return GrpcRouteForwardingRequest.newBuilder();
+		return GrpcRouteForwardingRequest.newBuilder()
+				.setRouteForwarding(GrpcRouteForwardingTestFactory.create());
 	}
 }
-- 
GitLab