Skip to content
Snippets Groups Projects
Commit 33f2cc8d authored by Jan Zickermann's avatar Jan Zickermann
Browse files

formcycle: Mock VorgangRemoteService in itcase

parent d5cc75b9
No related branches found
No related tags found
No related merge requests found
......@@ -24,11 +24,19 @@
package de.ozgcloud.eingang.formcycle;
import static de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory.*;
import static de.ozgcloud.eingang.formcycle.FormCycleFormHeaderTestFactory.*;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import java.util.Optional;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.mock.mockito.MockBean;
......@@ -37,10 +45,12 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import de.ozgcloud.common.test.ITCase;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory;
import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
import de.ozgcloud.eingang.semantik.SemantikAdapter;
import de.ozgcloud.eingang.router.VorgangRemoteService;
import de.ozgcloud.vorgang.common.grpc.GrpcFormDataTestFactory;
import de.ozgcloud.vorgang.vorgang.GrpcEingang;
import de.ozgcloud.vorgang.vorgang.GrpcFormField;
import de.ozgcloud.vorgang.vorgang.GrpcSubForm;
import lombok.SneakyThrows;
......@@ -58,17 +68,41 @@ class FormDataControllerITCase {
private MockMvc mockMvc;
@MockBean
private SemantikAdapter semantikAdapter;
private VorgangRemoteService vorgangRemoteService;
@Nested
class ReceiveFormData {
@Captor
private ArgumentCaptor<FormData> formDataArgumentCaptor;
@Captor
private ArgumentCaptor<GrpcEingang> eingangArgumentCaptor;
@Captor
private ArgumentCaptor<Optional<String>> organisationseinheitenIdArgumentCaptor;
@Test
@SneakyThrows
void shouldProcessSuccessful() {
doPostRequest().andExpect(status().isOk());
}
@DisplayName("should map organisationseinheitenID")
@Test
void shouldMapOrganisationseinheitenId() {
doPostRequest();
verify(vorgangRemoteService, times(1))
.createVorgang(
formDataArgumentCaptor.capture(),
eingangArgumentCaptor.capture(),
organisationseinheitenIdArgumentCaptor.capture()
);
var eingang = eingangArgumentCaptor.getValue();
assertThat(eingang.getZustaendigeStelle().getOrganisationseinheitenId()).isEqualTo(ORGANISATIONSEINHEIT_ID);
}
@SneakyThrows
private ResultActions doPostRequest() {
return mockMvc.perform(
......@@ -76,7 +110,7 @@ class FormDataControllerITCase {
.file(new MockMultipartFile("formData", null, FormDataController.HTTP_TYPE_PROTOBUF, buildTestFormData()))
.file(IncomingFileTestFactory.asMultipartFile("representations"))
.file(asMultipartFile("attachments",
createBuilder().name(IncomingFileGroupTestFactory.VENDOR_ID_XXX + "__" + NAME).build())));
IncomingFileTestFactory.createBuilder().name(IncomingFileGroupTestFactory.VENDOR_ID_XXX + "__" + NAME).build())));
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment