diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/command/CommandBodyMapper.java b/goofy-server/src/main/java/de/itvsh/goofy/common/command/CommandBodyMapper.java index 906f065fd3096fd23ff31fb95b36edf5ab4efd4a..703a17d43d415bfcd5d39da8b002796399825f44 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/command/CommandBodyMapper.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/command/CommandBodyMapper.java @@ -29,7 +29,14 @@ public interface CommandBodyMapper { return new BeanMap(object).entrySet().stream() .filter(HAS_NOT_NULL_VALUE) .filter(IS_NOT_CLASS_VALUE) - .collect(Collectors.toMap(entry -> entry.getKey().toString(), Entry::getValue)); + .collect(Collectors.toMap(entry -> entry.getKey().toString(), this::checkEnumValue)); + } + + private Object checkEnumValue(Entry<Object, Object> entry) { + if (entry.getValue() instanceof Enum<?> enumValue) { + return enumValue.name(); + } + return entry.getValue(); } default GrpcCommandBody mapToBody(Map<String, String> bodyMap) { diff --git a/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandBodyMapperTest.java b/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandBodyMapperTest.java index 89440b477474c51a4884bcf0f969f27b31656390..13d0d22456f477f570a97c73bc50e1991d947272 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandBodyMapperTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/common/command/CommandBodyMapperTest.java @@ -52,7 +52,7 @@ class CommandBodyMapperTest { assertThat(mappedMap) .hasSize(4) .doesNotContainKey("status") - .containsEntry("order", CommandTestFactory.ORDER) + .containsEntry("order", CommandTestFactory.ORDER.name()) .containsEntry("relationId", CommandTestFactory.RELATION_ID) .containsEntry("vorgangId", CommandTestFactory.VORGANG_ID); } @@ -65,8 +65,8 @@ class CommandBodyMapperTest { assertThat(mappedMap) .hasSize(5) - .containsEntry("status", CommandTestFactory.STATUS) - .containsEntry("order", CommandTestFactory.ORDER) + .containsEntry("status", CommandTestFactory.STATUS.name()) + .containsEntry("order", CommandTestFactory.ORDER.name()) .containsEntry("relationId", CommandTestFactory.RELATION_ID) .containsEntry("vorgangId", CommandTestFactory.VORGANG_ID); }