From 76adca83ca37b503bd1face31c56105db6c141b1 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Fri, 23 Apr 2021 09:05:49 +0200
Subject: [PATCH] OZG-496 WIP

---
 .../goofy/common/command/CreateCommand.java   |  8 ----
 .../kommentar/KommentarRemoteService.java     | 10 ++++-
 .../KommentarCommandControllerTest.java       |  9 ----
 .../goofy/kommentar/KommentarServiceTest.java | 42 +++++++++++++++++++
 4 files changed, 51 insertions(+), 18 deletions(-)
 create mode 100644 goofy-server/src/test/java/de/itvsh/goofy/kommentar/KommentarServiceTest.java

diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/command/CreateCommand.java b/goofy-server/src/main/java/de/itvsh/goofy/common/command/CreateCommand.java
index 485e8e26cc..f30aa4a4fd 100644
--- a/goofy-server/src/main/java/de/itvsh/goofy/common/command/CreateCommand.java
+++ b/goofy-server/src/main/java/de/itvsh/goofy/common/command/CreateCommand.java
@@ -1,11 +1,8 @@
 package de.itvsh.goofy.common.command;
 
-import javax.validation.Valid;
-
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 import de.itvsh.goofy.common.user.UserId;
-import de.itvsh.goofy.kommentar.Kommentar;
 import de.itvsh.goofy.vorgang.RedirectRequest;
 import de.itvsh.goofy.wiedervorlage.Wiedervorlage;
 import lombok.AccessLevel;
@@ -28,12 +25,7 @@ public class CreateCommand {
 	private String relationId;
 	private CommandOrder order;
 
-	@Valid
 	private Wiedervorlage body;
 
-	@Valid
-	private Kommentar kommentar;
-
-	@Valid
 	private RedirectRequest redirectRequest;
 }
\ No newline at end of file
diff --git a/goofy-server/src/main/java/de/itvsh/goofy/kommentar/KommentarRemoteService.java b/goofy-server/src/main/java/de/itvsh/goofy/kommentar/KommentarRemoteService.java
index b370d70231..2c87c2302a 100644
--- a/goofy-server/src/main/java/de/itvsh/goofy/kommentar/KommentarRemoteService.java
+++ b/goofy-server/src/main/java/de/itvsh/goofy/kommentar/KommentarRemoteService.java
@@ -1,5 +1,13 @@
 package de.itvsh.goofy.kommentar;
 
+import org.springframework.stereotype.Service;
+
+@Service
 public class KommentarRemoteService {
-	// TODO
+
+	public KommentarCommand sendKommentarCommand(String id, KommentarCommand command) {
+		return null;
+		// TODO Auto-generated method stub
+
+	}
 }
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/kommentar/KommentarCommandControllerTest.java b/goofy-server/src/test/java/de/itvsh/goofy/kommentar/KommentarCommandControllerTest.java
index 38d387f747..3994153adf 100644
--- a/goofy-server/src/test/java/de/itvsh/goofy/kommentar/KommentarCommandControllerTest.java
+++ b/goofy-server/src/test/java/de/itvsh/goofy/kommentar/KommentarCommandControllerTest.java
@@ -27,8 +27,6 @@ class KommentarCommandControllerTest {
 	@Captor
 	private ArgumentCaptor<KommentarCommand> commandCaptor;
 
-	private MockMvc mockMvc;
-
 	@Nested
 	class TestCreateKommentarCommandByVorgang {
 
@@ -75,11 +73,4 @@ class KommentarCommandControllerTest {
 					.andExpect(status().is2xxSuccessful());
 		}
 	}
-
-	ResultActions doRequest(String content) throws Exception {
-		return mockMvc.perform(post(KommentarCommandController.KOMMENTAR_COMMANDS, KommentarTestFactory.ID)
-				.content(content).contentType(MediaType.APPLICATION_JSON))
-				.andExpect(status().is2xxSuccessful());
-	}
-
 }
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/kommentar/KommentarServiceTest.java b/goofy-server/src/test/java/de/itvsh/goofy/kommentar/KommentarServiceTest.java
new file mode 100644
index 0000000000..828017422c
--- /dev/null
+++ b/goofy-server/src/test/java/de/itvsh/goofy/kommentar/KommentarServiceTest.java
@@ -0,0 +1,42 @@
+package de.itvsh.goofy.kommentar;
+
+import static de.itvsh.goofy.common.command.CommandOrder.*;
+import static org.assertj.core.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.Mockito.*;
+
+import org.junit.jupiter.api.Nested;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+
+import de.itvsh.goofy.vorgang.VorgangHeaderTestFactory;
+
+public class KommentarServiceTest {
+
+	@InjectMocks
+	private KommentarService service;
+
+	@Mock
+	private KommentarRemoteService remoteService;
+
+	@Nested
+	class TestCreateCreateCommand {
+
+		void shouldCallRemoteService() {
+			KommentarCommand command = KommentarCommand.builder().order(CREATE_KOMMENTAR).build();
+
+			service.createCreateCommand(KommentarTestFactory.ID, command);
+
+			verify(remoteService).sendKommentarCommand(VorgangHeaderTestFactory.ID, command);
+		}
+
+		void shouldReturnResult() {
+			KommentarCommand result = KommentarCommand.builder().order(CREATE_KOMMENTAR).build();
+			when(remoteService.sendKommentarCommand(anyString(), any())).thenReturn(result);
+
+			KommentarCommand created = service.createCreateCommand(KommentarCommandTestFactory.ID, KommentarCommandTestFactory.create());
+
+			assertThat(created).isSameAs(result);
+		}
+	}
+}
-- 
GitLab