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/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 1baa103baa ISIS-3209: metamodel test fixes (5)
1baa103baa is described below
commit 1baa103baaaaaf141c17c4ef1fef290796d6a8d4
Author: Andi Huber <[email protected]>
AuthorDate: Tue Sep 13 16:20:27 2022 +0200
ISIS-3209: metamodel test fixes (5)
---
.../AbstractFacetFactoryJupiterTestCase.java | 3 +-
.../ident/cssclass/CssClassFacetMethodTest.java | 74 ++++++++++++----------
.../NavigableParentAnnotationFacetFactoryTest.java | 8 +--
3 files changed, 46 insertions(+), 39 deletions(-)
diff --git
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJupiterTestCase.java
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJupiterTestCase.java
index adde8529d7..45f58bedf0 100644
---
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJupiterTestCase.java
+++
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJupiterTestCase.java
@@ -65,8 +65,7 @@ implements HasMetaModelContext {
@Getter @Setter private String firstName;
}
-
- protected void setUpMmc() throws Exception {
+ protected void setUpMmc() {
metaModelContext = MetaModelContext_forTesting.builder()
.valueSemantic(new IntValueSemantics())
.build();
diff --git
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
index fc834d4cc0..c371b72489 100644
---
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
+++
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
@@ -18,31 +18,30 @@
*/
package org.apache.isis.core.metamodel.facets.object.ident.cssclass;
+import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
+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.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Introspection;
-import org.apache.isis.applib.annotation.Introspection.IntrospectionPolicy;
import org.apache.isis.applib.annotation.MemberSupport;
-import org.apache.isis.core.metamodel._testing.MethodRemover_forTesting;
-import org.apache.isis.core.metamodel.facets.AbstractTestWithMetaModelContext;
-import org.apache.isis.core.metamodel.facets.FacetFactory;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import
org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJupiterTestCase;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import
org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetViaCssClassMethod;
import
org.apache.isis.core.metamodel.facets.object.support.ObjectSupportFacetFactory;
import lombok.val;
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
class CssClassFacetMethodTest
-extends AbstractTestWithMetaModelContext {
+extends AbstractFacetFactoryJupiterTestCase {
- public static final String CSS_CLASS = "someCssClass";
+ static final String CSS_CLASS = "someCssClass";
@DomainObject(introspection = Introspection.ENCAPSULATION_ENABLED)
static class DomainObjectInCssClassMethod {
@@ -51,41 +50,52 @@ extends AbstractTestWithMetaModelContext {
}
}
- ObjectSupportFacetFactory fa;
+ private ObjectSupportFacetFactory facetFactory;
+
+ @BeforeEach
+ void setup() {
+ super.setUpMmc();
+ facetFactory = new ObjectSupportFacetFactory(getMetaModelContext());
+ }
+
+ @AfterEach
+ @Override
+ protected void tearDown() throws Exception {
+ facetFactory = null;
+ super.tearDown();
+ }
@BeforeEach
void setUp() throws Exception {
- super.setupWithDefaultProgrammingModel();
-//
-// super.setupWithProgrammingModel((mmc, prog)->
-// prog.addFactory(FacetProcessingOrder.F1_LAYOUT, fa = new
ObjectSupportFacetFactory(mmc)));
+ super.setUpMmc();
}
@Test
void test() {
-
//getSpecificationLoader().reloadSpecification(DomainObjectInCssClassMethod.class);
-
- val spec =
getSpecificationLoader().loadSpecification(DomainObjectInCssClassMethod.class);
+ val domainClass = DomainObjectInCssClassMethod.class;
+ val facetedMethod = facetedAction(DomainObjectInCssClassMethod.class,
"cssClass");
- val ctx = new FacetFactory.ProcessClassContext(
- DomainObjectInCssClassMethod.class,
- IntrospectionPolicy.ENCAPSULATION_ENABLED,
- new MethodRemover_forTesting(), spec);
+ facetFactory.process(ProcessClassContext
+ .forTesting(domainClass, defaultMethodRemover(),
facetedMethod));
- val fa = new ObjectSupportFacetFactory(getMetaModelContext());
+ val cssClassFacet = assertHasCssClassFacet(facetedMethod);
+ assertTrue(cssClassFacet instanceof CssClassFacetViaCssClassMethod);
- fa.process(ctx);
+ val imperativeCssClassFacet =
(CssClassFacetViaCssClassMethod)cssClassFacet;
+ val domainObject = getObjectManager().adapt(new
DomainObjectInCssClassMethod());
- val pojo = new DomainObjectInCssClassMethod();
- val object = getObjectManager().adapt(pojo);
+ assertEquals(CSS_CLASS,
+ imperativeCssClassFacet.cssClass(domainObject));
+ }
- val cssClass = spec
- //object.getSpecification()
- .getCssClass(object);
+ // -- HELPER
- assertThat(cssClass, is(equalTo(CSS_CLASS)));
+ CssClassFacet assertHasCssClassFacet(final FacetHolder facetHolder) {
+ val navigableParentFacet = facetHolder.getFacet(CssClassFacet.class);
+ assertNotNull(navigableParentFacet, ()->"CssClassFacet required");
+ return navigableParentFacet;
}
}
diff --git
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/navparent/annotation/NavigableParentAnnotationFacetFactoryTest.java
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/navparent/annotation/NavigableParentAnnotationFacetFactoryTest.java
index 225f210017..b04de60599 100644
---
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/navparent/annotation/NavigableParentAnnotationFacetFactoryTest.java
+++
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/navparent/annotation/NavigableParentAnnotationFacetFactoryTest.java
@@ -68,9 +68,7 @@ extends AbstractFacetFactoryJupiterTestCase {
val domainObject = new DomainObjectA();
val parentMethodName = "root";
-
- final Class<?> domainClass = domainObject.getClass();
-
+ val domainClass = domainObject.getClass();
val facetedMethod = facetedAction(domainClass, parentMethodName);
facetFactory.process(ProcessClassContext
@@ -82,8 +80,8 @@ extends AbstractFacetFactoryJupiterTestCase {
final Method parentMethod = domainClass.getMethod(parentMethodName);
assertEquals(
- parentMethod.invoke(domainObject, _Constants.emptyObjects),
- navigableParentFacet.navigableParent(domainObject) );
+ navigableParentFacet.navigableParent(domainObject),
+ parentMethod.invoke(domainObject, _Constants.emptyObjects));
}
// -- HELPER