This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/master by this push:
new cf3cb3a5d2 CAUSEWAY-3424: prepare removal of tests for
Action/Collection/Property#hidden
cf3cb3a5d2 is described below
commit cf3cb3a5d2dc7b53ade9fd7b68e9235cae483a2a
Author: andi-huber <[email protected]>
AuthorDate: Wed Apr 12 19:05:23 2023 +0200
CAUSEWAY-3424: prepare removal of tests for
Action/Collection/Property#hidden
- that is, provide tests for
ActionLayout/CollectionLayout/PropertyLayout#hidden
---
.../metamodel/facets/AbstractFacetFactoryTest.java | 8 +-
...=> ActionLayoutAnnotationFacetFactoryTest.java} | 38 +++++-
... => CollectionLayoutAnnotationFactoryTest.java} | 37 +++++-
...acetForPropertyLayoutAnnotationFactoryTest.java | 64 ----------
...acetForPropertyLayoutAnnotationFactoryTest.java | 67 -----------
.../PropertyLayoutAnnotationFactoryTest.java | 132 +++++++++++++++++++++
6 files changed, 204 insertions(+), 142 deletions(-)
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/AbstractFacetFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/AbstractFacetFactoryTest.java
index 90fc1de789..5caadfa631 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/AbstractFacetFactoryTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/AbstractFacetFactoryTest.java
@@ -23,7 +23,6 @@ import java.util.Optional;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
-import org.mockito.Mock;
import org.mockito.Mockito;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -61,8 +60,8 @@ public abstract class AbstractFacetFactoryTest {
}
}
- @Mock protected TranslationService mockTranslationService;
- @Mock protected InteractionService mockInteractionService;
+ protected TranslationService mockTranslationService;
+ protected InteractionService mockInteractionService;
protected final InteractionContext iaContext =
InteractionContextFactory.testing();
protected MethodRemover_forTesting methodRemover;
@@ -74,6 +73,9 @@ public abstract class AbstractFacetFactoryTest {
@BeforeEach
protected void setUp() throws Exception {
+ mockTranslationService = Mockito.mock(TranslationService.class);
+ mockInteractionService = Mockito.mock(InteractionService.class);
+
methodRemover = new MethodRemover_forTesting();
metaModelContext = MetaModelContext_forTesting.builder()
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryTest.java
similarity index 79%
rename from
core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
rename to
core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryTest.java
index c175dc166c..fc03efe6e3 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryTest.java
@@ -31,15 +31,19 @@ import static
org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.causeway.applib.annotation.ActionLayout;
+import org.apache.causeway.applib.annotation.Where;
import org.apache.causeway.applib.layout.component.CssClassFaPosition;
import org.apache.causeway.core.metamodel.facetapi.Facet;
import
org.apache.causeway.core.metamodel.facets.AbstractFacetFactoryJupiterTestCase;
import
org.apache.causeway.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import
org.apache.causeway.core.metamodel.facets.actions.position.ActionPositionFacet;
import
org.apache.causeway.core.metamodel.facets.actions.position.ActionPositionFacetFallback;
+import org.apache.causeway.core.metamodel.facets.all.hide.HiddenFacet;
import
org.apache.causeway.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
-class ActionLayoutXmlLayoutAnnotationFacetFactoryTest
+import lombok.val;
+
+class ActionLayoutAnnotationFacetFactoryTest
extends AbstractFacetFactoryJupiterTestCase {
ActionLayoutFacetFactory facetFactory;
@@ -50,7 +54,7 @@ extends AbstractFacetFactoryJupiterTestCase {
}
@Test
- void testActionLayoutAnnotationPickedUp() {
+ void testActionLayoutAnnotation_position() {
class Customer {
@ActionLayout(position = ActionLayout.Position.PANEL)
@@ -67,10 +71,32 @@ extends AbstractFacetFactoryJupiterTestCase {
final Facet facet = facetedMethod.getFacet(ActionPositionFacet.class);
assertNotNull(facet);
assertTrue(facet instanceof
ActionPositionFacetForActionLayoutAnnotation);
- final ActionPositionFacetForActionLayoutAnnotation
actionLayoutFacetAnnotation = (ActionPositionFacetForActionLayoutAnnotation)
facet;
+ val actionLayoutFacetAnnotation =
(ActionPositionFacetForActionLayoutAnnotation) facet;
assertEquals(ActionLayout.Position.PANEL,
actionLayoutFacetAnnotation.position());
}
+ @Test
+ void testActionLayoutAnnotation_hidden() {
+
+ class Customer {
+ @ActionLayout(hidden = Where.ALL_TABLES)
+ public String foz() {
+ return null;
+ }
+ }
+
+ final Method method = findMethod(Customer.class, "foz");
+
+ facetFactory.process(ProcessMethodContext.forTesting(Customer.class,
null, method, mockMethodRemover,
+ facetedMethod));
+
+ final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
+ assertNotNull(facet);
+ assertTrue(facet instanceof HiddenFacetForActionLayoutAnnotation);
+ val actionLayoutFacetAnnotation =
(HiddenFacetForActionLayoutAnnotation) facet;
+ assertEquals(Where.ALL_TABLES, actionLayoutFacetAnnotation.where());
+ }
+
@Test
void testActionLayoutFallbackPickedUp() {
@@ -91,7 +117,7 @@ extends AbstractFacetFactoryJupiterTestCase {
assertTrue(facet instanceof ActionPositionFacetFallback);
}
- static class CssClassFa extends
ActionLayoutXmlLayoutAnnotationFacetFactoryTest {
+ static class CssClassFa extends ActionLayoutAnnotationFacetFactoryTest {
@Test
void testDefaultPosition() {
@@ -110,7 +136,7 @@ extends AbstractFacetFactoryJupiterTestCase {
Facet facet = facetedMethod.getFacet(CssClassFaFacet.class);
assertThat(facet, is(notNullValue()));
assertThat(facet,
is(instanceOf(CssClassFaFacetForActionLayoutAnnotation.class)));
- CssClassFaFacetForActionLayoutAnnotation
classFaFacetForActionLayoutAnnotation =
(CssClassFaFacetForActionLayoutAnnotation) facet;
+ val classFaFacetForActionLayoutAnnotation =
(CssClassFaFacetForActionLayoutAnnotation) facet;
assertThat(classFaFacetForActionLayoutAnnotation.asSpaceSeparated(),
is(equalTo("fa fa-fw fa-font-awesome")));
assertThat(classFaFacetForActionLayoutAnnotation.getPosition(),
is(CssClassFaPosition.LEFT));
}
@@ -132,7 +158,7 @@ extends AbstractFacetFactoryJupiterTestCase {
Facet facet = facetedMethod.getFacet(CssClassFaFacet.class);
assertThat(facet, is(notNullValue()));
assertThat(facet,
is(instanceOf(CssClassFaFacetForActionLayoutAnnotation.class)));
- CssClassFaFacetForActionLayoutAnnotation
classFaFacetForActionLayoutAnnotation =
(CssClassFaFacetForActionLayoutAnnotation) facet;
+ val classFaFacetForActionLayoutAnnotation =
(CssClassFaFacetForActionLayoutAnnotation) facet;
assertThat(classFaFacetForActionLayoutAnnotation.asSpaceSeparated(),
is(equalTo("fa fa-fw fa-font-awesome")));
assertThat(classFaFacetForActionLayoutAnnotation.getPosition(),
is(CssClassFaPosition.RIGHT));
}
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/CollectionLayoutAnnotationFactoryTest.java
similarity index 62%
rename from
core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
rename to
core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/CollectionLayoutAnnotationFactoryTest.java
index c08024254d..6a520605a8 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/NamedFacetForCollectionLayoutAnnotationFactoryTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/CollectionLayoutAnnotationFactoryTest.java
@@ -21,26 +21,36 @@ package
org.apache.causeway.core.metamodel.facets.collections.layout.annotation;
import java.lang.reflect.Method;
import java.util.SortedSet;
+import org.junit.jupiter.api.Test;
+
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.causeway.applib.annotation.CollectionLayout;
+import org.apache.causeway.applib.annotation.Where;
import org.apache.causeway.commons.internal.collections._Sets;
+import org.apache.causeway.core.metamodel.facetapi.Facet;
import org.apache.causeway.core.metamodel.facets.AbstractFacetFactoryTest;
import
org.apache.causeway.core.metamodel.facets.FacetFactory.ProcessMethodContext;
+import org.apache.causeway.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.causeway.core.metamodel.facets.all.i8n.staatic.HasStaticText;
import org.apache.causeway.core.metamodel.facets.all.named.MemberNamedFacet;
import
org.apache.causeway.core.metamodel.facets.collections.layout.CollectionLayoutFacetFactory;
+import
org.apache.causeway.core.metamodel.facets.collections.layout.HiddenFacetForCollectionLayoutAnnotation;
import
org.apache.causeway.core.metamodel.facets.collections.layout.MemberNamedFacetForCollectionLayoutAnnotation;
import lombok.val;
-public class NamedFacetForCollectionLayoutAnnotationFactoryTest extends
AbstractFacetFactoryTest {
+class CollectionLayoutAnnotationFactoryTest extends AbstractFacetFactoryTest {
- public void testCollectionLayoutAnnotationNamed() {
+ @Test
+ public void testCollectionLayoutAnnotation_named() {
val facetFactory = new CollectionLayoutFacetFactory(metaModelContext);
class Customer {
@@ -60,4 +70,27 @@ public class
NamedFacetForCollectionLayoutAnnotationFactoryTest extends Abstract
assertThat(((HasStaticText)facet).text(), is(equalTo("1st names")));
}
+ @Test
+ void testCollectionLayoutAnnotation_hidden() {
+ val facetFactory = new CollectionLayoutFacetFactory(metaModelContext);
+
+ class Customer {
+ @CollectionLayout(hidden = Where.OBJECT_FORMS)
+ public SortedSet<String> getFirstNames() {
+ return _Sets.newTreeSet();
+ }
+ }
+ final Method method = findMethod(Customer.class, "getFirstNames");
+
+ facetFactory.process(ProcessMethodContext
+ .forTesting(Customer.class, null, method, methodRemover,
facetedMethod));
+
+ final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
+ assertNotNull(facet);
+ assertTrue(facet instanceof HiddenFacetForCollectionLayoutAnnotation);
+ final HiddenFacetForCollectionLayoutAnnotation
collLayoutFacetAnnotation = (HiddenFacetForCollectionLayoutAnnotation) facet;
+ assertEquals(Where.OBJECT_FORMS, collLayoutFacetAnnotation.where());
+
+ }
+
}
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
deleted file mode 100644
index 0247065dc8..0000000000
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/LabelAtFacetForPropertyLayoutAnnotationFactoryTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.causeway.core.metamodel.facets.properties.propertylayout;
-
-import java.lang.reflect.Method;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.instanceOf;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-
-import org.apache.causeway.applib.annotation.LabelPosition;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.core.metamodel.facetapi.Facet;
-import org.apache.causeway.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.causeway.core.metamodel.facets.FacetFactory;
-import
org.apache.causeway.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import
org.apache.causeway.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
-
-public class LabelAtFacetForPropertyLayoutAnnotationFactoryTest extends
AbstractFacetFactoryTest {
-
- public void testPropertyLayoutAnnotationPickedUp() {
- final PropertyLayoutFacetFactory facetFactory =
createPropertyLayoutFacetFactory(metaModelContext);
-
- class Customer {
- @PropertyLayout(labelPosition = LabelPosition.LEFT)
- public String getFirstName() {
- return null;
- }
- }
- final Method method = findMethod(Customer.class, "getFirstName");
-
- final FacetFactory.ProcessMethodContext processMethodContext =
- ProcessMethodContext
- .forTesting(Customer.class, null, method, methodRemover,
facetedMethod);
-
- // when
- facetFactory.process(processMethodContext);
-
- // then
- final Facet facet = facetedMethod.getFacet(LabelAtFacet.class);
- assertThat(facet, is(notNullValue()));
- assertThat(facet,
is(instanceOf(LabelAtFacetForPropertyLayoutAnnotation.class)));
- final LabelAtFacetForPropertyLayoutAnnotation layoutAnnotation =
(LabelAtFacetForPropertyLayoutAnnotation) facet;
- assertThat(layoutAnnotation.label(), is(equalTo(LabelPosition.LEFT)));
- }
-}
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
deleted file mode 100644
index f27d4dc62e..0000000000
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/NamedFacetForPropertyLayoutAnnotationFactoryTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.causeway.core.metamodel.facets.properties.propertylayout;
-
-import java.lang.reflect.Method;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.instanceOf;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.causeway.core.metamodel.facets.FacetFactory;
-import
org.apache.causeway.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.causeway.core.metamodel.facets.all.i8n.staatic.HasStaticText;
-import org.apache.causeway.core.metamodel.facets.all.named.MemberNamedFacet;
-
-import lombok.val;
-
-public class NamedFacetForPropertyLayoutAnnotationFactoryTest
-extends AbstractFacetFactoryTest {
-
- public void testPropertyLayoutAnnotationNamed() {
- val facetFactory = createPropertyLayoutFacetFactory(metaModelContext);
-
- class Customer {
- @PropertyLayout(named = "1st name")
- public String getFirstName() {
- return null;
- }
- }
- final Method method = findMethod(Customer.class, "getFirstName");
-
- // when
- final FacetFactory.ProcessMethodContext processMethodContext =
- ProcessMethodContext
- .forTesting(Customer.class, null, method, methodRemover,
facetedMethod);
-
- facetFactory.process(processMethodContext);
-
- // then
- val facet = facetedMethod.getFacet(MemberNamedFacet.class);
- assertThat(facet, is(notNullValue()));
- assertThat(facet,
is(instanceOf(NamedFacetForPropertyLayoutAnnotation.class)));
- assertThat(((HasStaticText)facet).text(), is(equalTo("1st name")));
- }
-
-
-}
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/PropertyLayoutAnnotationFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/PropertyLayoutAnnotationFactoryTest.java
new file mode 100644
index 0000000000..4b539ce504
--- /dev/null
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/PropertyLayoutAnnotationFactoryTest.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.core.metamodel.facets.properties.propertylayout;
+
+import java.lang.reflect.Method;
+
+import org.junit.jupiter.api.Test;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.apache.causeway.applib.annotation.LabelPosition;
+import org.apache.causeway.applib.annotation.PropertyLayout;
+import org.apache.causeway.applib.annotation.Where;
+import org.apache.causeway.core.metamodel.facetapi.Facet;
+import org.apache.causeway.core.metamodel.facets.AbstractFacetFactoryTest;
+import org.apache.causeway.core.metamodel.facets.FacetFactory;
+import
org.apache.causeway.core.metamodel.facets.FacetFactory.ProcessMethodContext;
+import org.apache.causeway.core.metamodel.facets.all.hide.HiddenFacet;
+import org.apache.causeway.core.metamodel.facets.all.i8n.staatic.HasStaticText;
+import org.apache.causeway.core.metamodel.facets.all.named.MemberNamedFacet;
+import
org.apache.causeway.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
+
+import lombok.val;
+
+class PropertyLayoutAnnotationFactoryTest
+extends AbstractFacetFactoryTest {
+
+ @Test
+ void testPropertyLayoutAnnotation_named() {
+ val facetFactory = createPropertyLayoutFacetFactory(metaModelContext);
+
+ class Customer {
+ @PropertyLayout(named = "1st name")
+ public String getFirstName() {
+ return null;
+ }
+ }
+ final Method method = findMethod(Customer.class, "getFirstName");
+
+ // when
+ final FacetFactory.ProcessMethodContext processMethodContext =
+ ProcessMethodContext
+ .forTesting(Customer.class, null, method, methodRemover,
facetedMethod);
+
+ facetFactory.process(processMethodContext);
+
+ // then
+ val facet = facetedMethod.getFacet(MemberNamedFacet.class);
+ assertThat(facet, is(notNullValue()));
+ assertThat(facet,
is(instanceOf(NamedFacetForPropertyLayoutAnnotation.class)));
+ assertThat(((HasStaticText)facet).text(), is(equalTo("1st name")));
+ }
+
+ @Test
+ void testPropertyLayoutAnnotation_hidden() {
+ final PropertyLayoutFacetFactory facetFactory =
createPropertyLayoutFacetFactory(metaModelContext);
+
+ class Customer {
+ @PropertyLayout(hidden = Where.OBJECT_FORMS)
+ public String getFirstName() {
+ return null;
+ }
+ }
+ final Method method = findMethod(Customer.class, "getFirstName");
+
+ final FacetFactory.ProcessMethodContext processMethodContext =
+ ProcessMethodContext
+ .forTesting(Customer.class, null, method, methodRemover,
facetedMethod);
+
+ // when
+ facetFactory.process(processMethodContext);
+
+ // then
+ final Facet facet = facetedMethod.getFacet(HiddenFacet.class);
+ assertNotNull(facet);
+ assertTrue(facet instanceof HiddenFacetForPropertyLayoutAnnotation);
+ val propLayoutFacetAnnotation =
(HiddenFacetForPropertyLayoutAnnotation) facet;
+ assertEquals(Where.OBJECT_FORMS, propLayoutFacetAnnotation.where());
+ }
+
+ @Test
+ void testPropertyLayoutAnnotation_labelPosition() {
+ final PropertyLayoutFacetFactory facetFactory =
createPropertyLayoutFacetFactory(metaModelContext);
+
+ class Customer {
+ @PropertyLayout(labelPosition = LabelPosition.LEFT)
+ public String getFirstName() {
+ return null;
+ }
+ }
+ final Method method = findMethod(Customer.class, "getFirstName");
+
+ final FacetFactory.ProcessMethodContext processMethodContext =
+ ProcessMethodContext
+ .forTesting(Customer.class, null, method, methodRemover,
facetedMethod);
+
+ // when
+ facetFactory.process(processMethodContext);
+
+ // then
+ final Facet facet = facetedMethod.getFacet(LabelAtFacet.class);
+ assertThat(facet, is(notNullValue()));
+ assertThat(facet,
is(instanceOf(LabelAtFacetForPropertyLayoutAnnotation.class)));
+ val layoutAnnotation = (LabelAtFacetForPropertyLayoutAnnotation) facet;
+ assertThat(layoutAnnotation.label(), is(equalTo(LabelPosition.LEFT)));
+ }
+
+
+}