From db3992d9126f4591e07a004b9da9ef490e95aad5 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 18 Jul 2024 14:24:18 +0200
Subject: [PATCH] OZG-6107 add vorgangNummer to rueckfrage

---
 .../src/main/protobuf/antragraum.model.proto  |  1 +
 .../antragraum/AntragraumService.java         | 11 ++++++--
 .../nachrichten/antragraum/Rueckfrage.java    |  1 +
 .../nachrichten/common/vorgang/Vorgang.java   |  1 +
 .../antragraum/AntragraumServiceTest.java     | 28 ++++++++++++-------
 .../GrpcVorgangWithEingangTestFactory.java    |  3 +-
 .../common/vorgang/VorgangTestFactory.java    |  4 ++-
 7 files changed, 34 insertions(+), 15 deletions(-)

diff --git a/nachrichten-manager-interface/src/main/protobuf/antragraum.model.proto b/nachrichten-manager-interface/src/main/protobuf/antragraum.model.proto
index 80234a7..fa1ef06 100644
--- a/nachrichten-manager-interface/src/main/protobuf/antragraum.model.proto
+++ b/nachrichten-manager-interface/src/main/protobuf/antragraum.model.proto
@@ -50,6 +50,7 @@ message GrpcRueckfrage {
   string text = 7;
   repeated string attachmentFileId = 8;
   repeated GrpcRueckfrageAnswer answers = 9;
+  string vorgangNummer = 10;
 }
 
 message GrpcSendRueckfrageAnswerRequest {
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
index d0d7d80..3e10f00 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
@@ -40,6 +40,7 @@ import org.springframework.stereotype.Service;
 
 import de.ozgcloud.nachrichten.NachrichtenManagerConfiguration;
 import de.ozgcloud.nachrichten.NachrichtenManagerProperties;
+import de.ozgcloud.nachrichten.common.vorgang.Vorgang;
 import de.ozgcloud.nachrichten.common.vorgang.VorgangService;
 import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService;
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
@@ -122,12 +123,16 @@ public class AntragraumService {
 		if (rueckfragen.isEmpty()) {
 			return Stream.empty();
 		}
-		return addVorgangName(rueckfragen, rueckfragen.getFirst().getVorgangId());
+		return addVorgangData(rueckfragen, rueckfragen.getFirst().getVorgangId());
 	}
 
-	Stream<Rueckfrage> addVorgangName(List<Rueckfrage> rueckfragen, String vorgangId) {
+	Stream<Rueckfrage> addVorgangData(List<Rueckfrage> rueckfragen, String vorgangId) {
 		var vorgang = vorgangService.getVorgang(vorgangId);
-		return rueckfragen.stream().map(rueckfrage -> rueckfrage.toBuilder().vorgangName(vorgang.getName()).build());
+		return rueckfragen.stream().map(rueckfrage -> addVorgangData(rueckfrage, vorgang));
+	}
+
+	private Rueckfrage addVorgangData(Rueckfrage rueckfrage, Vorgang vorgang) {
+		return rueckfrage.toBuilder().vorgangName(vorgang.getName()).vorgangNummer(vorgang.getNummer()).build();
 	}
 
 	public String sendRueckfrageAnswer(String samlToken, String rueckfrageId, PostfachNachricht nachricht) {
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java
index d9526d0..acc18d8 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Rueckfrage.java
@@ -15,6 +15,7 @@ class Rueckfrage {
 	private String id;
 	private String vorgangId;
 	private String vorgangName;
+	private String vorgangNummer;
 
 	private PostfachAddress postfachAddress;
 	private ZonedDateTime sentAt;
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/Vorgang.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/Vorgang.java
index 881bcaa..6e3df04 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/Vorgang.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/common/vorgang/Vorgang.java
@@ -9,4 +9,5 @@ public class Vorgang {
 
 	private String id;
 	private String name;
+	private String nummer;
 }
\ No newline at end of file
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
index 8433d49..36523dd 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
@@ -28,6 +28,7 @@ import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory;
 
 class AntragraumServiceTest {
+
 	@Spy
 	@InjectMocks
 	private AntragraumService service;
@@ -202,14 +203,14 @@ class AntragraumServiceTest {
 
 		@BeforeEach
 		void mock() {
-			doReturn(Stream.of(RueckfrageTestFactory.create())).when(service).addVorgangName(any(), any());
+			doReturn(Stream.of(RueckfrageTestFactory.create())).when(service).addVorgangData(any(), any());
 		}
 
 		@Test
-		void shouldCallAddVorgangNameIfRueckfragenExists() {
+		void shouldCallAddVorgangDataIfRueckfragenExists() {
 			service.enrichRueckfragen(rueckfragen);
 
-			verify(service).addVorgangName(Collections.singletonList(rueckfrageWithoutVorgangName), RueckfrageTestFactory.VORGANG_ID);
+			verify(service).addVorgangData(Collections.singletonList(rueckfrageWithoutVorgangName), RueckfrageTestFactory.VORGANG_ID);
 		}
 
 		@Test
@@ -220,9 +221,9 @@ class AntragraumServiceTest {
 		}
 	}
 
-	@DisplayName("Add vorgang name")
+	@DisplayName("Add vorgang data")
 	@Nested
-	class TestAddVorgangName {
+	class TestAddVorgangData {
 
 		private final Rueckfrage rueckfrage = RueckfrageTestFactory.createBuilder()
 				.vorgangName(null)
@@ -235,20 +236,27 @@ class AntragraumServiceTest {
 
 		@Test
 		void shouldCallGetVorgang() {
-			addVorgangName().toList();
+			addVorgangData().toList();
 
 			verify(vorgangService).getVorgang(RueckfrageTestFactory.VORGANG_ID);
 		}
 
 		@Test
 		void shouldSetVorgangName() {
-			var rueckfragenWithVorgangName = addVorgangName().toList();
+			var rueckfragenWithVorgangData = addVorgangData().toList();
+
+			assertThat(rueckfragenWithVorgangData.getFirst().getVorgangName()).isEqualTo(VorgangTestFactory.NAME);
+		}
+
+		@Test
+		void shouldSetVorgangNummer() {
+			var rueckfragenWithVorgangData = addVorgangData().toList();
 
-			assertThat(rueckfragenWithVorgangName.getFirst().getVorgangName()).isEqualTo(VorgangTestFactory.NAME);
+			assertThat(rueckfragenWithVorgangData.getFirst().getVorgangNummer()).isEqualTo(VorgangTestFactory.NUMMER);
 		}
 
-		private Stream<Rueckfrage> addVorgangName() {
-			return service.addVorgangName(Collections.singletonList(rueckfrage), RueckfrageTestFactory.VORGANG_ID);
+		private Stream<Rueckfrage> addVorgangData() {
+			return service.addVorgangData(Collections.singletonList(rueckfrage), RueckfrageTestFactory.VORGANG_ID);
 		}
 	}
 
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/GrpcVorgangWithEingangTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/GrpcVorgangWithEingangTestFactory.java
index 80e47d7..cd08967 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/GrpcVorgangWithEingangTestFactory.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/GrpcVorgangWithEingangTestFactory.java
@@ -11,6 +11,7 @@ public class GrpcVorgangWithEingangTestFactory {
 	public static GrpcVorgangWithEingang.Builder createBuilder() {
 		return GrpcVorgangWithEingang.newBuilder()
 				.setId(VorgangTestFactory.ID)
-				.setName(VorgangTestFactory.NAME);
+				.setName(VorgangTestFactory.NAME)
+				.setNummer(VorgangTestFactory.NUMMER);
 	}
 }
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangTestFactory.java
index cf1a339..48ef6e4 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangTestFactory.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/common/vorgang/VorgangTestFactory.java
@@ -8,6 +8,7 @@ public class VorgangTestFactory {
 
 	public static final String ID = UUID.randomUUID().toString();
 	public static final String NAME = LoremIpsum.getInstance().getWords(5);
+	public static final String NUMMER = LoremIpsum.getInstance().getWords(3);
 
 	public static Vorgang create() {
 		return createBuilder().build();
@@ -16,6 +17,7 @@ public class VorgangTestFactory {
 	public static Vorgang.VorgangBuilder createBuilder() {
 		return Vorgang.builder()
 				.id(ID)
-				.name(NAME);
+				.name(NAME)
+				.nummer(NUMMER);
 	}
 }
-- 
GitLab