0

I am trying to create a JUNIT for my sling model class. I am following - https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-wknd-tutorial-develop/project-archetype/unit-testing.html?lang=en. As per this doc I am using AemContext to load the json file but I get Null when I try to read values.

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension;


import io.wcm.testing.mock.aem.junit5.AemContext;
import io.wcm.testing.mock.aem.junit5.AemContextExtension;

@ExtendWith({ AemContextExtension.class, MockitoExtension.class })

public class FeatureListModelTest {
    // private final AemContext ctx = new AemContext();
    private final AemContext aemContext = AppAemContext.newAemContext();

    FeatureListModel featureModel;

    @BeforeEach
    void setUp() {
        aemContext.addModelsForClasses(FeatureListModel.class);
        aemContext.load().json("/content/mywebsite/en/featurelist.json", "/featurelistComponent");
        aemContext.currentResource("/featurelistComponent/featureList");
        featureModel = aemContext.request().adaptTo(FeatureListModel.class); // This featureModel returning NULL
    }

    @Test
    void getFeatureTitle() {
        final String expected = "Hello";
        assertEquals(expected, featureModel.getFeatureTitle());
    }
}

Here is my json that is placed in resource path

{
    "featureList": {
        "jcr:primaryType": "cq:PageContent",
        "jcr:createdBy": "admin",
        "jcr:title": "feature",
        "jcr:created": "Tue Jun 01 2023 21:26:54 GMT+0530",
        "changeFrequency": "always",
        "cq:lastModified": "Tue Jun 06 2023 22:28:27 GMT+0530",
        "featureTitle": "Hello",
        "sling:resourceType": "mywebsite/components/structure/base-page",
        "cq:lastModifiedBy": "admin"
    }
}

It seems everything correct but I am not sure why I am getting Null value in modelobject.

Mario R
  • 171
  • 6

0 Answers0