From 1f3010d5ab229e57afd56873fa1cd4d635f0d86a Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 7 May 2024 00:11:20 +0200
Subject: [PATCH] OZG-5681 adjust tests

---
 .../bescheid/nachricht/NachrichtService.java  |  3 +-
 .../de/ozgcloud/document/DocumentService.java |  6 +--
 .../bescheid/BescheidEventListenerITCase.java | 43 +++++++++++--------
 3 files changed, 29 insertions(+), 23 deletions(-)

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 52d79a922..49dbcf4a6 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
@@ -85,8 +85,7 @@ public class NachrichtService {
 	}
 
 	public void sendNachricht(Bescheid bescheid) {
-		var commandToCreate = buildSendBescheidCommand(bescheid);
-		commandService.createAndWaitUntilDone(commandToCreate);
+		commandService.createAndWaitUntilDone(buildSendBescheidCommand(bescheid));
 	}
 
 	OzgCloudCommand buildSendBescheidCommand(Bescheid bescheid) {
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentService.java b/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentService.java
index a8b475872..905af6829 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentService.java
@@ -52,9 +52,9 @@ public class DocumentService {
 	public static final String DOCUMENT_TYPE = "BESCHEID";
 
 	static final String CREATE_ATTACHED_ITEM_ORDER = "CREATE_ATTACHED_ITEM";
-	static final String FIELD_DOCUMENT_TYPE = "type";
-	static final String FIELD_DOCUMENT_FILE = "documentFile";
-	static final String FIELD_NACHRICHT_TEXT = "nachrichtText";
+	public static final String FIELD_DOCUMENT_TYPE = "type";
+	public static final String FIELD_DOCUMENT_FILE = "documentFile";
+	public static final String FIELD_NACHRICHT_TEXT = "nachrichtText";
 
 	private final AttachedItemService attachedItemService;
 	private final OzgCloudCommandService commandService;
diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java b/vorgang-manager-server/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java
index 198115bf2..0370f3064 100644
--- a/vorgang-manager-server/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java
+++ b/vorgang-manager-server/src/test/java/de/ozgcloud/bescheid/BescheidEventListenerITCase.java
@@ -29,6 +29,7 @@ import static org.awaitility.Awaitility.*;
 import static org.mockito.Mockito.*;
 
 import java.util.Map;
+import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 
 import org.junit.jupiter.api.BeforeEach;
@@ -60,6 +61,7 @@ import de.ozgcloud.command.CommandStatus;
 import de.ozgcloud.common.test.DataITCase;
 import de.ozgcloud.document.BescheidDocumentCreatedEvent;
 import de.ozgcloud.document.Document;
+import de.ozgcloud.document.DocumentService;
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import de.ozgcloud.nachrichten.postfach.PostfachRemoteService;
 import de.ozgcloud.vorgang.VorgangManagerServerApplication;
@@ -263,16 +265,20 @@ class BescheidEventListenerITCase {
 		@Captor
 		private ArgumentCaptor<PostfachNachricht> postfachNachrichtCaptor;
 
+		private String vorgangId;
+		private VorgangAttachedItem bescheidItem;
+
 		@BeforeEach
 		void init() {
 			when(userProfile.getId()).thenReturn(UserId.from("user-id"));
+			when(callContextUser.getUserId()).thenReturn(Optional.of("user-id"));
+			vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build()).getId();
+			var documentFileId = mongoOperations.save(createBescheidDocumentAttachedItem(vorgangId)).getId();
+			bescheidItem = mongoOperations.save(createBescheidAttachedItemWithDocument(vorgangId, documentFileId));
 		}
 
 		@Test
 		void shouldSuccessfullyCompleteCommand() {
-			var vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build()).getId();
-			var bescheidItem = mongoOperations.save(createBescheidAttachedItemWithDocument(vorgangId));
-
 			commandService.createCommand(buildCreateCommandRequest(vorgangId, bescheidItem));
 
 			await().atMost(60, TimeUnit.SECONDS).untilAsserted(() -> {
@@ -283,12 +289,9 @@ class BescheidEventListenerITCase {
 
 		@Test
 		void shouldSetBescheidStatusToSent() {
-			var vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build()).getId();
-			var bescheidItem = mongoOperations.save(createBescheidAttachedItemWithDocument(vorgangId));
-
 			eventPublisher.publishEvent(buildCommandCreatedEvent(vorgangId, bescheidItem));
 
-			await().atMost(60, TimeUnit.SECONDS).untilAsserted(() -> {
+			await().atMost(1, TimeUnit.SECONDS).untilAsserted(() -> {
 				verify(bescheiTestEventListener).onBescheidSentEvent(bescheidSentEventCaptor.capture());
 				assertThat(loadBescheid(bescheidItem.getId()).getItem()).containsEntry(Bescheid.FIELD_STATUS, Bescheid.Status.SENT.name());
 			});
@@ -296,9 +299,6 @@ class BescheidEventListenerITCase {
 
 		@Test
 		void shouldSetVorgangStatusToBeschieden() {
-			var vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build()).getId();
-			var bescheidItem = mongoOperations.save(createBescheidAttachedItemWithDocument(vorgangId));
-
 			commandService.createCommand(buildCreateCommandRequest(vorgangId, bescheidItem));
 
 			await().atMost(60, TimeUnit.SECONDS).untilAsserted(() -> {
@@ -310,9 +310,6 @@ class BescheidEventListenerITCase {
 
 		@Test
 		void shouldSendPostfachNachricht() {
-			var vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build()).getId();
-			var bescheidItem = mongoOperations.save(createBescheidAttachedItemWithDocument(vorgangId));
-
 			commandService.createCommand(buildCreateCommandRequest(vorgangId, bescheidItem));
 
 			await().atMost(60, TimeUnit.SECONDS).untilAsserted(() -> {
@@ -326,9 +323,6 @@ class BescheidEventListenerITCase {
 
 		@Test
 		void shouldSetClientAttribute() {
-			var vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build()).getId();
-			var bescheidItem = mongoOperations.save(createBescheidAttachedItemWithDocument(vorgangId));
-
 			commandService.createCommand(buildCreateCommandRequest(vorgangId, bescheidItem));
 
 			await().atMost(60, TimeUnit.SECONDS).untilAsserted(() -> {
@@ -340,7 +334,7 @@ class BescheidEventListenerITCase {
 			});
 		}
 
-		private VorgangAttachedItem createBescheidAttachedItemWithDocument(String vorgangId) {
+		private VorgangAttachedItem createBescheidAttachedItemWithDocument(String vorgangId, String bescheidDocumentId) {
 			return VorgangAttachedItemTestFactory.createBuilder()
 					.id(null)
 					.version(0L)
@@ -350,12 +344,25 @@ class BescheidEventListenerITCase {
 							Bescheid.FIELD_STATUS, Bescheid.Status.DRAFT.name(),
 							Bescheid.FIELD_SEND_BY, Bescheid.SendBy.NACHRICHT.name(),
 							Bescheid.FIELD_BEWILLIGT, true,
-							Bescheid.FIELD_BESCHEID_DOCUMENT, "documentId",
+							Bescheid.FIELD_BESCHEID_DOCUMENT, bescheidDocumentId,
 							Bescheid.FIELD_NACHRICHT_SUBJECT, NACHRICHT_SUBJECT,
 							Bescheid.FIELD_NACHRICHT_TEXT, NACHRICHT_TEXT))
 					.build();
 		}
 
+		private VorgangAttachedItem createBescheidDocumentAttachedItem(String vorgangId) {
+			return VorgangAttachedItemTestFactory.createBuilder()
+					.id(null)
+					.version(0L)
+					.vorgangId(vorgangId)
+					.itemName(DocumentService.DOCUMENT_ITEM_NAME)
+					.item(Map.of(
+							DocumentService.FIELD_DOCUMENT_TYPE, DocumentService.DOCUMENT_TYPE,
+							DocumentService.FIELD_DOCUMENT_FILE, "documentId",
+							DocumentService.FIELD_NACHRICHT_TEXT, "nachrichtText"))
+					.build();
+		}
+
 		private CommandCreatedEvent buildCommandCreatedEvent(String vorgangId, VorgangAttachedItem bescheidItem) {
 			var command = CommandTestFactory.createBuilder()
 					.vorgangId(vorgangId)
-- 
GitLab