From 5e5815b77a8ef8dfed036787fd2f025240309e3e Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Fri, 19 May 2023 15:33:04 +0200
Subject: [PATCH] OZG-3778 add vorgang nummer in response

---
 .../eingang/formcycle/FormDataController.java    |  3 ++-
 .../eingang/formcycle/VorgangNummerSupplier.java |  3 +++
 .../formcycle/FormDataControllerTest.java        | 16 +++++++++++++++-
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/FormDataController.java b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/FormDataController.java
index 1f12b52ff..9c414c519 100644
--- a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/FormDataController.java
+++ b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/FormDataController.java
@@ -65,6 +65,7 @@ class FormDataController {
 
 	private final FormCycleFormDataMapper mapper;
 	private final SemantikAdapter semantikAdapter;
+	private final VorgangNummerSupplier vorgangNummerSupplier;
 
 	@PostMapping(consumes = "multipart/form-data", produces = "application/protobuf")
 	public FormCycleConfirmationResponse receiveFormData(@RequestPart FormCycleFormData formData,
@@ -78,7 +79,7 @@ class FormDataController {
 
 		semantikAdapter.processFormData(mappedFormData);
 
-		return FormCycleConfirmationResponse.newBuilder().setVorgangNummer("TODO FILL ME").build();
+		return FormCycleConfirmationResponse.newBuilder().setVorgangNummer(vorgangNummerSupplier.get()).build();
 	}
 
 	private FormData addRepresentations(Optional<Collection<MultipartFile>> files, FormData mappedFormData) {
diff --git a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplier.java b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplier.java
index c6f0add9f..f065a6350 100644
--- a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplier.java
+++ b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplier.java
@@ -3,6 +3,9 @@ package de.itvsh.kop.eingang.formcycle;
 import java.time.Instant;
 import java.time.LocalDate;
 
+import org.springframework.stereotype.Component;
+
+@Component
 public class VorgangNummerSupplier {
 
 	static final String BASE30_ALPHABET = "23456789ABCDEFGHJKMNPQRSTVWXYZ";
diff --git a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/itvsh/kop/eingang/formcycle/FormDataControllerTest.java b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/itvsh/kop/eingang/formcycle/FormDataControllerTest.java
index d5bb079c7..9731385a0 100644
--- a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/itvsh/kop/eingang/formcycle/FormDataControllerTest.java
+++ b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/itvsh/kop/eingang/formcycle/FormDataControllerTest.java
@@ -68,6 +68,8 @@ class FormDataControllerTest {
 	private FormCycleFormDataMapper mapper;
 	@Mock
 	private SemantikAdapter semantikAdapter;
+	@Mock
+	private VorgangNummerSupplier vorgangNummerSupplier;
 
 	private MockMvc mockMvc;
 
@@ -81,6 +83,8 @@ class FormDataControllerTest {
 	@Nested
 	class ReceiveFormData {
 
+		static final String VORGANG_NUMMER = "VorgangNummer";
+
 		private FormData mappedFormData = FormDataTestFactory.create();
 
 		@Captor
@@ -89,6 +93,7 @@ class FormDataControllerTest {
 		@BeforeEach
 		void init() {
 			when(mapper.toFormData(any())).thenReturn(mappedFormData);
+			when(vorgangNummerSupplier.get()).thenReturn(VORGANG_NUMMER);
 		}
 
 		@Test
@@ -96,13 +101,22 @@ class FormDataControllerTest {
 			doPostRequest().andExpect(status().is2xxSuccessful());
 		}
 
+
+		@Test
+		void shouldCallVorgangNummerSupplier() {
+			doPostRequest();
+
+			verify(vorgangNummerSupplier).get();
+		}
+
 		@Test
 		@SneakyThrows
 		void shouldRespondeWithVorgangNummer() {
+
 			var confirmation = FormCycleConfirmationResponse.parseFrom(
 					doPostRequest().andReturn().getResponse().getContentAsByteArray());
 
-			assertThat(confirmation.getVorgangNummer()).isEqualTo("TODO FILL ME");
+			assertThat(confirmation.getVorgangNummer()).isEqualTo(VORGANG_NUMMER);
 		}
 
 		@Test
-- 
GitLab