Skip to content
Snippets Groups Projects
Commit 1e25f7f8 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4994 OZG-5068 Add more tests to VorgangControllerTest

parent 61e394ee
Branches
Tags
No related merge requests found
......@@ -30,10 +30,15 @@ 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.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.params.provider.ValueSource;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.InjectMocks;
......@@ -610,48 +615,67 @@ class VorgangControllerTest {
@Nested
class TestGetAllByUngeleseneNachrichten {
@Test
void shouldCallHandleGetAllRequest() {
doRequest();
@ParameterizedTest
@MethodSource("nachrichtenValues")
void shouldCallHandleGetAllRequest(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(any(FindVorgaengeHeaderRequestCriteria.class));
}
@DisplayName("build criteria")
@Nested
class TestBuildCriteria {
@Test
void shouldHavePage() {
doRequest();
@ParameterizedTest
@MethodSource("nachrichtenValues")
void shouldCriteriaHavePage(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getPage()).isEqualTo(PAGE);
}
@Test
void shoulHaveLimit() {
doRequest();
@ParameterizedTest
@MethodSource("nachrichtenValues")
void shouldCriteriaHaveLimit(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getLimit()).isEqualTo(LIMIT);
}
static List<String> nachrichtenValues() {
return List.of(VorgangController.PARAM_NACHRICHTEN_UNGELESENE, "", "dummy");
}
@Nested
class WithParamNachrichtenUngelesene {
@Test
void shoulHaveHasUngeleseneNachrichten() {
doRequest();
void shouldCriteriaHaveHasUngeleseneNachrichtenTrue() {
doRequestWithNachrichtenParam(VorgangController.PARAM_NACHRICHTEN_UNGELESENE);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getFilterCriteria().isHasUngeleseneNachrichten()).isTrue();
}
}
@Nested
class WithoutParamNachrichtenUngelesene {
@ParameterizedTest
@ValueSource(strings = {"", "dummy"})
void shouldCriteriaHaveHasUngeleseneNachrichtenFalse(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getFilterCriteria().isHasUngeleseneNachrichten()).isFalse();
}
}
@SneakyThrows
private void doRequest() {
private void doRequestWithNachrichtenParam(String paramValue) {
mockMvc.perform(get(PATH)
.param(VorgangController.PARAM_PAGE, Integer.toString(PAGE))
.param(VorgangController.PARAM_LIMIT, Integer.toString(LIMIT))
.param(VorgangController.PARAM_NACHRICHTEN, VorgangController.PARAM_NACHRICHTEN_UNGELESENE))
.param(VorgangController.PARAM_NACHRICHTEN, paramValue))
.andExpect(status().isOk());
}
}
......@@ -661,65 +685,86 @@ class VorgangControllerTest {
private static final UserId ASSIGNED_TO = UserProfileTestFactory.ID;
@Test
void shouldCallHandleGetAllRequest() {
doRequest();
@ParameterizedTest
@MethodSource("nachrichtenValues")
void shouldCallHandleGetAllRequest(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(any(FindVorgaengeHeaderRequestCriteria.class));
}
@DisplayName("build criteria")
@Nested
class TestBuildCriteria {
@Test
void shouldHavePage() {
doRequest();
@ParameterizedTest
@MethodSource("nachrichtenValues")
void shouldCriteriaHavePage(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getPage()).isEqualTo(PAGE);
}
@Test
void shoulHaveLimit() {
doRequest();
@ParameterizedTest
@MethodSource("nachrichtenValues")
void shouldCriteriaHaveLimit(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getLimit()).isEqualTo(LIMIT);
}
@Test
void shoulHaveAssignedTo() {
doRequest();
@ParameterizedTest
@MethodSource("nachrichtenValues")
void shouldCriteriaHaveAssignedTo(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getFilterCriteria().getAssignedTo()).hasValue(ASSIGNED_TO);
}
@Test
void shouldSetFilterByAssignedTo() {
doRequest();
@ParameterizedTest
@MethodSource("nachrichtenValues")
void shouldSetFilterByAssignedTo(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getFilterCriteria().isFilterByAssignedTo()).isTrue();
}
static List<String> nachrichtenValues() {
return List.of(VorgangController.PARAM_NACHRICHTEN_UNGELESENE, "", "dummy");
}
@Nested
class WithParamNachrichtenUngelesene {
@Test
void shoulHaveHasUngeleseneNachrichten() {
doRequest();
void shouldCriteriaHaveHasUngeleseneNachrichtenTrue() {
doRequestWithNachrichtenParam(VorgangController.PARAM_NACHRICHTEN_UNGELESENE);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getFilterCriteria().isHasUngeleseneNachrichten()).isTrue();
}
}
@Nested
class WithoutParamNachrichtenUngelesene {
@ParameterizedTest
@ValueSource(strings = {"", "dummy"})
void shouldCriteriaHaveHasUngeleseneNachrichtenFalse(String nachrichtenValue) {
doRequestWithNachrichtenParam(nachrichtenValue);
verify(controller).handleGetAllRequest(criteriaCaptor.capture());
assertThat(criteriaCaptor.getValue().getFilterCriteria().isHasUngeleseneNachrichten()).isFalse();
}
}
@SneakyThrows
private void doRequest() {
private void doRequestWithNachrichtenParam(String paramValue) {
mockMvc.perform(get(PATH)
.param(VorgangController.PARAM_PAGE, Integer.toString(PAGE))
.param(VorgangController.PARAM_LIMIT, Integer.toString(LIMIT))
.param(VorgangController.PARAM_ASSIGNED_TO, ASSIGNED_TO.toString())
.param(VorgangController.PARAM_NACHRICHTEN, VorgangController.PARAM_NACHRICHTEN_UNGELESENE))
.param(VorgangController.PARAM_NACHRICHTEN, paramValue))
.andExpect(status().isOk());
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment