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 1f12b52ffe4efc2b1f4731ff88181b2968759f32..9c414c51988a8b588367420fc17e0b386a45f06d 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 c6f0add9f68709045ae14f8b1aaca13409ecc3ca..f065a6350685053c2e289640be643baeb3dcd955 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 d5bb079c7c955bc8601e83cd5bb074fe901e511b..9731385a03eb028748073092e9700af87d0f06a3 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