diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java index 1f4432a34..95aa3b58b 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java @@ -222,7 +222,8 @@ public class TaskanaRestExceptionHandler extends ResponseEntityExceptionHandler // value for the error output and want to use the contains performance boost of a HashSet. List enumConstants = Arrays.stream(targetType.getEnumConstants()) - .map(Object::toString) + .map(Enum.class::cast) + .map(Enum::name) .collect(Collectors.toList()); Set enumConstantSet = new HashSet<>(enumConstants); diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskControllerIntTest.java index 917eefccb..48d8e66f7 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskControllerIntTest.java @@ -1092,6 +1092,25 @@ class TaskControllerIntTest { .isEqualTo(HttpStatus.BAD_REQUEST); } + @Test + void should_ThrowException_When_ProvidingInvalidOrder() { + String url = + restHelper.toUrl(RestEndpoints.URL_TASKS) + + "?workbasket-id=WBI:100000000000000000000000000000000001" + + "&sort-by=NAME&order=WRONG"; + HttpEntity auth = new HttpEntity<>(RestHelper.generateHeadersForUser("teamlead-1")); + + ThrowingCallable httpCall = + () -> TEMPLATE.exchange(url, HttpMethod.GET, auth, TASK_SUMMARY_PAGE_MODEL_TYPE); + + assertThatThrownBy(httpCall) + .isInstanceOf(HttpStatusCodeException.class) + .hasMessageContaining("\"expectedValues\":[\"ASCENDING\",\"DESCENDING\"]") + .extracting(HttpStatusCodeException.class::cast) + .extracting(HttpStatusCodeException::getStatusCode) + .isEqualTo(HttpStatus.BAD_REQUEST); + } + @TestFactory Stream should_SetTransferFlagDependentOnRequestBody_When_TransferringTask() { Iterator iterator = Arrays.asList(true, false).iterator();