From 7056c0f1dcb058b2b08e4e63dde2f5ea9b65c239 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 19 Jun 2024 16:41:56 +0200
Subject: [PATCH] OZG-5666 move findAnswers to enrich method

---
 .../antragraum/AntragraumService.java         |  7 +++---
 .../antragraum/AntragraumServiceTest.java     | 24 ++++++++++---------
 2 files changed, 17 insertions(+), 14 deletions(-)

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 0cfc23e..64a5e09 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
@@ -98,14 +98,15 @@ public class AntragraumService {
 
 		var rueckfragen = postfachNachrichtService.findRueckfragen(BAYERN_ID_SERVICE_KONTO_TYPE, getPostfachId(samlToken))
 				.map(rueckfrageMapper::fromPostfachNachricht)
-				.map(rueckfrage -> enrichByAnswers(rueckfrage, findAnswers(samlToken, rueckfrage.getId()))).toList();
+				.map(rueckfrage -> enrichByAnswers(rueckfrage, samlToken)).toList();
 		return enrichRueckfragen(rueckfragen);
 	}
 
-	Rueckfrage enrichByAnswers(Rueckfrage rueckfrage, Stream<PostfachNachricht> answers) {
+	Rueckfrage enrichByAnswers(Rueckfrage rueckfrage, String samlToken) {
 		var rueckfrageBuilder = rueckfrage.toBuilder();
 
-		getFirstSentAt(answers).ifPresent(firstSentAt -> rueckfrageBuilder.answeredAt(firstSentAt).status(RueckfrageStatus.ANSWERED));
+		getFirstSentAt(findAnswers(samlToken, rueckfrage.getId()))
+				.ifPresent(firstSentAt -> rueckfrageBuilder.answeredAt(firstSentAt).status(RueckfrageStatus.ANSWERED));
 
 		return rueckfrageBuilder.build();
 	}
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 453dca3..8433d49 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
@@ -76,7 +76,6 @@ class AntragraumServiceTest {
 
 		private final Rueckfrage rueckfrage = RueckfrageTestFactory.create();
 		private final PostfachNachricht postfachNachricht = PostfachNachrichtTestFactory.create();
-		private final Stream<PostfachNachricht> answers = Stream.of(postfachNachricht);
 
 		@BeforeEach
 		void mock() {
@@ -85,7 +84,6 @@ class AntragraumServiceTest {
 			when(rueckfrageMapper.fromPostfachNachricht(any())).thenReturn(rueckfrage);
 			doReturn(rueckfrage).when(service).enrichByAnswers(any(), any());
 			doReturn(Stream.of(rueckfrage)).when(service).enrichRueckfragen(any());
-			doReturn(answers).when(service).findAnswers(any(), any());
 			doReturn(POSTFACH_ID).when(service).getPostfachId(any());
 		}
 
@@ -124,18 +122,11 @@ class AntragraumServiceTest {
 			verify(rueckfrageMapper).fromPostfachNachricht(postfachNachricht);
 		}
 
-		@Test
-		void shouldCallFindAnswers() {
-			service.findRueckfragen(SAML_TOKEN).toList();
-
-			verify(service).findAnswers(SAML_TOKEN, RueckfrageTestFactory.ID);
-		}
-
 		@Test
 		void shouldCallEnrichByAnswers() {
 			service.findRueckfragen(SAML_TOKEN).toList();
 
-			verify(service).enrichByAnswers(rueckfrage, answers);
+			verify(service).enrichByAnswers(rueckfrage, SAML_TOKEN);
 		}
 
 		@Test
@@ -157,11 +148,22 @@ class AntragraumServiceTest {
 	@Nested
 	class TestEnrichByAnswers {
 
+		private static final String SAML_TOKEN = "TOKEN";
 		private final Rueckfrage rueckfrage = RueckfrageTestFactory.create();
+		private final PostfachNachricht postfachNachricht = PostfachNachrichtTestFactory.create();
+		private final Stream<PostfachNachricht> answers = Stream.of(postfachNachricht);
 
 		@BeforeEach
 		void mock() {
 			doReturn(Optional.of(PostfachNachrichtTestFactory.SENT_AT)).when(service).getFirstSentAt(any());
+			doReturn(answers).when(service).findAnswers(any(), any());
+		}
+
+		@Test
+		void shouldCallFindAnswers() {
+			enrichByAnswer();
+
+			verify(service).findAnswers(SAML_TOKEN, RueckfrageTestFactory.ID);
 		}
 
 		@Test
@@ -187,7 +189,7 @@ class AntragraumServiceTest {
 		}
 
 		private Rueckfrage enrichByAnswer() {
-			return service.enrichByAnswers(rueckfrage, Stream.empty());
+			return service.enrichByAnswers(rueckfrage, SAML_TOKEN);
 		}
 	}
 
-- 
GitLab