diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangQuery.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangQuery.java index f4c5552ea7a73593de325fb95a1798c9aa9f6dfe..56135494ebe6adc28d6a6296b5dcb6f1fa6e3eb5 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangQuery.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/OzgCloudVorgangQuery.java @@ -31,7 +31,11 @@ public class OzgCloudVorgangQuery { private final Query nestedQuery; } - public static record FormIdentification(String formId, String formEngineName) { + @Builder + @Getter + public static class FormIdentification { + private String formId; + private String formEngineName; } public enum LogicalOperator { diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java index 1d40d47706cb193303cc429ff4202c3c444b29fe..96a696ee9ce7847154863b1c39043a4d5a733440 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java @@ -1,7 +1,9 @@ package de.ozgcloud.apilib.vorgang.grpc; -import java.util.ArrayList; -import java.util.Objects; +import java.util.Collections; +import java.util.HashSet; +import java.util.Optional; +import java.util.Set; import org.mapstruct.CollectionMappingStrategy; import org.mapstruct.Mapper; @@ -31,11 +33,11 @@ public interface OzgCloudVorgangQueryMapper { var queryBuilder = mapPropertiesToQuery(ozgCloudVorgangQuery); if (queryBuilder.getExpressionsList().isEmpty()) { - return ozgCloudVorgangQuery.getQuery().map(this::mapQuery) + return ozgCloudVorgangQuery.getQuery().map(this::toQuery) .orElseGet(GrpcQuery::getDefaultInstance); } - ozgCloudVorgangQuery.getQuery().map(this::mapQuery).ifPresent(queryBuilder::setNestedQuery); + ozgCloudVorgangQuery.getQuery().map(this::toQuery).ifPresent(queryBuilder::setNestedQuery); return queryBuilder.build(); } @@ -69,29 +71,29 @@ public interface OzgCloudVorgangQueryMapper { .build(); } - default Iterable<GrpcVorgangQueryExpression> toFormExpressions(FormIdentification formIdentification) { - var expressions = new ArrayList<GrpcVorgangQueryExpression>(2); - if (Objects.nonNull(formIdentification.formEngineName())) { - addFormEngineNameExpression(formIdentification, expressions); - } - if (Objects.nonNull(formIdentification.formId())) { - addFormIdExpression(formIdentification, expressions); - } - return expressions; + default Set<GrpcVorgangQueryExpression> toFormExpressions(FormIdentification formIdentification) { + var expressions = new HashSet<GrpcVorgangQueryExpression>(2); + Optional.ofNullable(formIdentification.getFormEngineName()) + .map(this::toFormEngineNameExpression) + .ifPresent(expressions::add); + Optional.ofNullable(formIdentification.getFormId()) + .map(this::toFormIdExpression) + .ifPresent(expressions::add); + return Collections.unmodifiableSet(expressions); } - private void addFormEngineNameExpression(FormIdentification formIdentification, ArrayList<GrpcVorgangQueryExpression> expressions) { - expressions.add(getEqualExpressionBuilder() + private GrpcVorgangQueryExpression toFormEngineNameExpression(String formEngineName) { + return getEqualExpressionBuilder() .setPath(FORM_ENGINE_NAME_PATH) - .setOperandStringValue(formIdentification.formEngineName()) - .build()); + .setOperandStringValue(formEngineName) + .build(); } - private void addFormIdExpression(FormIdentification formIdentification, ArrayList<GrpcVorgangQueryExpression> expressions) { - expressions.add(getEqualExpressionBuilder() + private GrpcVorgangQueryExpression toFormIdExpression(String formId) { + return getEqualExpressionBuilder() .setPath(FORM_ID_PATH) - .setOperandStringValue(formIdentification.formId()) - .build()); + .setOperandStringValue(formId) + .build(); } private Builder getEqualExpressionBuilder() { @@ -110,7 +112,9 @@ public interface OzgCloudVorgangQueryMapper { @Mapping(target = "allFields", ignore = true) @Mapping(target = "expressionsBuilderList", ignore = true) @Mapping(target = "expressionsOrBuilderList", ignore = true) + @Mapping(target = "nestedQueryOrBuilder", ignore = true) + @Mapping(target = "defaultInstanceForType", ignore = true) @Mapping(target = "expressionsList", source = "expressions") - GrpcQuery mapQuery(Query query); + GrpcQuery toQuery(Query query); } diff --git a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/FormIdentificationTestFactory.java b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/FormIdentificationTestFactory.java index be99e60e68dfeba60afa4503360125ce62592316..d0ae5abb07e28650a02eccb491b703f7903d8758 100644 --- a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/FormIdentificationTestFactory.java +++ b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/FormIdentificationTestFactory.java @@ -5,6 +5,7 @@ import java.util.UUID; import com.thedeanda.lorem.LoremIpsum; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery.FormIdentification; +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery.FormIdentification.FormIdentificationBuilder; public class FormIdentificationTestFactory { @@ -12,7 +13,13 @@ public class FormIdentificationTestFactory { public static final String FORM_ID = UUID.randomUUID().toString(); public static FormIdentification create() { - return new FormIdentification(FORM_ID, FORM_ENGINE_NAME); + return createBuilder().build(); + } + + public static FormIdentificationBuilder createBuilder() { + return FormIdentification.builder() + .formId(FORM_ID) + .formEngineName(FORM_ENGINE_NAME); } } diff --git a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java index f639b98071d522da640f7ccaf2b6f92e657e4eb7..bcdc22ee4286ea121954f3772080085a2d38279c 100644 --- a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java +++ b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java @@ -1,11 +1,12 @@ package de.ozgcloud.apilib.vorgang.grpc; import static org.assertj.core.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; -import java.util.List; import java.util.Optional; +import java.util.Set; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; @@ -15,12 +16,10 @@ import org.mockito.Spy; import de.ozgcloud.apilib.vorgang.FormIdentificationTestFactory; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery; -import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery.FormIdentification; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery.Query; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQueryTestFactory; import de.ozgcloud.apilib.vorgang.QueryTestFactory; import de.ozgcloud.vorgang.common.GrpcQueryOperator; -import de.ozgcloud.vorgang.vorgang.GrpcLogicalOperator; import de.ozgcloud.vorgang.vorgang.GrpcQuery; import de.ozgcloud.vorgang.vorgang.GrpcVorgangQueryExpression; @@ -30,7 +29,7 @@ class OzgCloudVorgangQueryMapperTest { private final OzgCloudVorgangQueryMapper mapper = Mappers.getMapper(OzgCloudVorgangQueryMapper.class); @Nested - class ToGrpc { + class TestToGrpc { @Test void shouldCallMapProperetiesToQuery() { @@ -79,13 +78,13 @@ class OzgCloudVorgangQueryMapperTest { void shouldMapQueryToGrpcQuery() { mapper.toGrpc(query); - verify(mapper).mapQuery(OzgCloudVorgangQueryTestFactory.QUERY); + verify(mapper).toQuery(OzgCloudVorgangQueryTestFactory.QUERY); } @Test void shouldReturnMappedQuery() { var mappedQuery = GrpcQueryTestFactory.create(); - doReturn(mappedQuery).when(mapper).mapQuery(OzgCloudVorgangQueryTestFactory.QUERY); + doReturn(mappedQuery).when(mapper).toQuery(OzgCloudVorgangQueryTestFactory.QUERY); var grpcQuery = mapper.toGrpc(query); @@ -109,7 +108,7 @@ class OzgCloudVorgangQueryMapperTest { void shouldCallMapQuery() { mapper.toGrpc(query); - verify(mapper).mapQuery(OzgCloudVorgangQueryTestFactory.QUERY); + verify(mapper).toQuery(OzgCloudVorgangQueryTestFactory.QUERY); } @Test @@ -118,7 +117,7 @@ class OzgCloudVorgangQueryMapperTest { var expectedQuery = GrpcQueryTestFactory.createBuilder() .setNestedQuery(nestedQuery) .build(); - doReturn(nestedQuery).when(mapper).mapQuery(OzgCloudVorgangQueryTestFactory.QUERY); + doReturn(nestedQuery).when(mapper).toQuery(OzgCloudVorgangQueryTestFactory.QUERY); var grpcQuery = mapper.toGrpc(query); @@ -144,232 +143,142 @@ class OzgCloudVorgangQueryMapperTest { @Nested class TestMapPropertiesToQuery { - private final GrpcVorgangQueryExpression formEngineNameExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() - .setPath(OzgCloudVorgangQueryMapper.FORM_ENGINE_NAME_PATH) - .setOperator(GrpcQueryOperator.EQUAL) - .setOperandStringValue(FormIdentificationTestFactory.FORM_ENGINE_NAME) - .build(); - - private final List<GrpcVorgangQueryExpression> formExpressions = List.of(formEngineNameExpression); - - private final GrpcVorgangQueryExpression aktenzeichenExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() - .setPath(OzgCloudVorgangQueryMapper.AKTENZEICHEN_PATH) - .setOperator(GrpcQueryOperator.EQUAL) - .setOperandStringValue(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN) - .build(); - - private final GrpcVorgangQueryExpression statusExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() - .setPath(OzgCloudVorgangQueryMapper.STATUS_PATH) - .setOperator(GrpcQueryOperator.EQUAL) - .setOperandStringValue(OzgCloudVorgangQueryTestFactory.STATUS) - .build(); - - private final GrpcVorgangQueryExpression organisationsEinheitIdExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() - .setPath(OzgCloudVorgangQueryMapper.ORGANISATIONS_EINHEIT_ID_PATH) - .setOperator(GrpcQueryOperator.EQUAL) - .setOperandStringValue(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID) - .build(); - @Nested - class OnAllPropertiesPresent { + class TestForAktenzeichen { - private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.create(); - - @BeforeEach - void mock() { - doReturn(aktenzeichenExpression).when(mapper).toAktenzeichenExpression(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN); - doReturn(organisationsEinheitIdExpression).when(mapper) - .toOrganisationsEinheitIdExpression(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID); - doReturn(statusExpression).when(mapper).toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS); - doReturn(formExpressions).when(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM); - } + private final GrpcVorgangQueryExpression aktenzeichenExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() + .setPath(OzgCloudVorgangQueryMapper.AKTENZEICHEN_PATH) + .setOperator(GrpcQueryOperator.EQUAL) + .setOperandStringValue(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN) + .build(); @Test void shouldCallToAktenzeichenExpression() { - callMapPropertiesToQuery(); + mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create()); verify(mapper).toAktenzeichenExpression(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN); } @Test - void shouldCallToOrganisationsEinheitIdExpression() { - callMapPropertiesToQuery(); - - verify(mapper).toOrganisationsEinheitIdExpression(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID); - } - - @Test - void shouldCallToStatusExpression() { - callMapPropertiesToQuery(); - - verify(mapper).toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS); - } - - @Test - void shouldCallToFormExpression() { - callMapPropertiesToQuery(); - - verify(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM); - } + void shouldSetAktenzeichenExpression() { + doReturn(aktenzeichenExpression).when(mapper).toAktenzeichenExpression(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN); - @Test - void shouldReturnQueryBuilderContainingAllExpressions() { - var queryBuilder = callMapPropertiesToQuery(); + var queryBuidler = mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create()); - assertThat(queryBuilder.getExpressionsList()).containsExactlyInAnyOrder(aktenzeichenExpression, statusExpression, - formEngineNameExpression, organisationsEinheitIdExpression); + assertThat(queryBuidler.getExpressionsList()).contains(aktenzeichenExpression); } @Test - void shouldReturnQueryBuilderWIthAndOperator() { - var queryBuilder = callMapPropertiesToQuery(); - - assertThat(queryBuilder.getLogicalOperator()).isEqualTo(GrpcLogicalOperator.AND); - } + void shouldNotCallToAktenzeichenExpression() { + mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().aktenzeichen(Optional.empty()).build()); - private GrpcQuery.Builder callMapPropertiesToQuery() { - return mapper.mapPropertiesToQuery(query); + verify(mapper, never()).toAktenzeichenExpression(any()); } } @Nested - class OnEmptyAktenzeichen { + class TestForOrganisationsEinheitId { - private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.createBuilder() - .aktenzeichen(Optional.empty()) + private final GrpcVorgangQueryExpression organisationsEinheitIdExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() + .setPath(OzgCloudVorgangQueryMapper.ORGANISATIONS_EINHEIT_ID_PATH) + .setOperator(GrpcQueryOperator.EQUAL) + .setOperandStringValue(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID) .build(); - @BeforeEach - void mock() { - doReturn(organisationsEinheitIdExpression).when(mapper) - .toOrganisationsEinheitIdExpression(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID); - doReturn(statusExpression).when(mapper).toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS); - doReturn(formExpressions).when(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM); - } - @Test - void shouldNotCallToAktenzeichenExpression() { - callMapPropertiesToQuery(); + void shouldCallToOrganisationsEinheitIdExpression() { + mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create()); - verify(mapper, never()).toAktenzeichenExpression(any()); + verify(mapper).toOrganisationsEinheitIdExpression(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID); } @Test - void shouldReturnQueryBuilderContainingAllOtherExpressions() { - var queryBuilder = callMapPropertiesToQuery(); - - assertThat(queryBuilder.getExpressionsList()).containsExactlyInAnyOrder(statusExpression, formEngineNameExpression, - organisationsEinheitIdExpression); - } - - private GrpcQuery.Builder callMapPropertiesToQuery() { - return mapper.mapPropertiesToQuery(query); - } - } - - @Nested - class OnEmptyForm { - - private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.createBuilder() - .form(Optional.empty()) - .build(); - - @BeforeEach - void mock() { - doReturn(aktenzeichenExpression).when(mapper).toAktenzeichenExpression(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN); + void shouldSetOrganisationsEinheitIdExpression() { doReturn(organisationsEinheitIdExpression).when(mapper) .toOrganisationsEinheitIdExpression(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID); - doReturn(statusExpression).when(mapper).toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS); - } - @Test - void shouldNotCallToFormExpression() { - callMapPropertiesToQuery(); + var queryBuidler = mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create()); - verify(mapper, never()).toFormExpressions(any()); + assertThat(queryBuidler.getExpressionsList()).contains(organisationsEinheitIdExpression); } @Test - void shouldReturnQueryBuilderContainingAllOtherExpressions() { - var queryBuilder = callMapPropertiesToQuery(); - - assertThat(queryBuilder.getExpressionsList()).containsExactlyInAnyOrder(aktenzeichenExpression, statusExpression, - organisationsEinheitIdExpression); - } + void shouldNotCallToOrganisationsEinheitIdExpression() { + mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().organisationsEinheitId(Optional.empty()).build()); - private GrpcQuery.Builder callMapPropertiesToQuery() { - return mapper.mapPropertiesToQuery(query); + verify(mapper, never()).toOrganisationsEinheitIdExpression(any()); } } @Nested - class OnEmptyStatus { + class TestForForm { - private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.createBuilder() - .status(Optional.empty()) + private final GrpcVorgangQueryExpression formEngineNameExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() + .setPath(OzgCloudVorgangQueryMapper.FORM_ENGINE_NAME_PATH) + .setOperator(GrpcQueryOperator.EQUAL) + .setOperandStringValue(FormIdentificationTestFactory.FORM_ENGINE_NAME) .build(); - @BeforeEach - void mock() { - doReturn(aktenzeichenExpression).when(mapper).toAktenzeichenExpression(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN); - doReturn(organisationsEinheitIdExpression).when(mapper) - .toOrganisationsEinheitIdExpression(OzgCloudVorgangQueryTestFactory.ORGANISATIONS_EINHEIT_ID); - doReturn(formExpressions).when(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM); - } + private final Set<GrpcVorgangQueryExpression> formExpressions = Set.of(formEngineNameExpression); @Test - void shouldNotCallToStatusExpression() { - callMapPropertiesToQuery(); + void shouldCallToFormExpression() { + mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create()); - verify(mapper, never()).toStatusExpression(any()); + verify(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM); } @Test - void shouldReturnQueryBuilderContainingAllOtherExpressions() { - var queryBuilder = callMapPropertiesToQuery(); + void shouldSetFormExpression() { + doReturn(formExpressions).when(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM); - assertThat(queryBuilder.getExpressionsList()).containsExactlyInAnyOrder(aktenzeichenExpression, formEngineNameExpression, - organisationsEinheitIdExpression); + var queryBuidler = mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create()); + + assertThat(queryBuidler.getExpressionsList()).containsAll(formExpressions); } - private GrpcQuery.Builder callMapPropertiesToQuery() { - return mapper.mapPropertiesToQuery(query); + @Test + void shouldNotCallToFormExpression() { + mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().form(Optional.empty()).build()); + + verify(mapper, never()).toFormExpressions(any()); } } @Nested - class OnEmptyOrganisationsEinheitId { + class TestForStatus { - private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.createBuilder() - .organisationsEinheitId(Optional.empty()) + private final GrpcVorgangQueryExpression statusExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() + .setPath(OzgCloudVorgangQueryMapper.STATUS_PATH) + .setOperator(GrpcQueryOperator.EQUAL) + .setOperandStringValue(OzgCloudVorgangQueryTestFactory.STATUS) .build(); - @BeforeEach - void mock() { - doReturn(aktenzeichenExpression).when(mapper).toAktenzeichenExpression(OzgCloudVorgangQueryTestFactory.AKTENZEICHEN); - doReturn(statusExpression).when(mapper).toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS); - doReturn(formExpressions).when(mapper).toFormExpressions(OzgCloudVorgangQueryTestFactory.FORM); - } - @Test - void shouldNotCallToOrganisationsEinheitIdExpression() { - callMapPropertiesToQuery(); + void shouldCallToStatusExpression() { + mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create()); - verify(mapper, never()).toOrganisationsEinheitIdExpression(any()); + verify(mapper).toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS); } @Test - void shouldReturnQueryBuilderContainingAllOtherExpressions() { - var queryBuilder = callMapPropertiesToQuery(); + void shouldSetStatusExpression() { + doReturn(statusExpression).when(mapper) + .toStatusExpression(OzgCloudVorgangQueryTestFactory.STATUS); - assertThat(queryBuilder.getExpressionsList()).containsExactlyInAnyOrder(aktenzeichenExpression, statusExpression, - formEngineNameExpression); + var queryBuidler = mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.create()); + + assertThat(queryBuidler.getExpressionsList()).contains(statusExpression); } - private GrpcQuery.Builder callMapPropertiesToQuery() { - return mapper.mapPropertiesToQuery(query); + @Test + void shouldNotCallToStatusExpression() { + mapper.mapPropertiesToQuery(OzgCloudVorgangQueryTestFactory.createBuilder().status(Optional.empty()).build()); + + verify(mapper, never()).toStatusExpression(any()); } } + } @Nested @@ -424,7 +333,7 @@ class OzgCloudVorgangQueryMapperTest { } @Nested - class TestToFormExpression { + class TestToFormExpressions { private final GrpcVorgangQueryExpression formEngineNameExpression = GrpcVorgangQueryExpressionTestFactory.createBuilder() .setPath(OzgCloudVorgangQueryMapper.FORM_ENGINE_NAME_PATH) @@ -440,14 +349,14 @@ class OzgCloudVorgangQueryMapperTest { @Test void shouldReturnFormEngineNameExpression() { - var expressions = mapper.toFormExpressions(new FormIdentification(null, FormIdentificationTestFactory.FORM_ENGINE_NAME)); + var expressions = mapper.toFormExpressions(FormIdentificationTestFactory.createBuilder().formId(null).build()); assertThat(expressions).usingRecursiveFieldByFieldElementComparator().containsExactly(formEngineNameExpression); } @Test void shouldReturnFormIdExpression() { - var expressions = mapper.toFormExpressions(new FormIdentification(FormIdentificationTestFactory.FORM_ID, null)); + var expressions = mapper.toFormExpressions(FormIdentificationTestFactory.createBuilder().formEngineName(null).build()); assertThat(expressions).usingRecursiveFieldByFieldElementComparator().containsExactly(formIdExpression); } @@ -459,10 +368,19 @@ class OzgCloudVorgangQueryMapperTest { assertThat(expressions).usingRecursiveFieldByFieldElementComparator().containsExactlyInAnyOrder(formEngineNameExpression, formIdExpression); } + + @Test + void shouldReturnUnmodifiableSet() { + var newExpression = GrpcVorgangQueryExpressionTestFactory.create(); + + var expressions = mapper.toFormExpressions(FormIdentificationTestFactory.create()); + + assertThrows(UnsupportedOperationException.class, () -> expressions.add(newExpression)); + } } @Nested - class TestMapQuery { + class TestToQuery { private final Query nestedQuery = QueryTestFactory.create(); private final Query query = QueryTestFactory.createBuilder().nestedQuery(nestedQuery).build(); @@ -472,7 +390,7 @@ class OzgCloudVorgangQueryMapperTest { @Test void shouldMapQuery() { - var grpcQuery = mapper.mapQuery(query); + var grpcQuery = mapper.toQuery(query); assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(expectedGrpcQuery); }