Unit test case for Sling delegation pattern
Hi,
I would like to write test cases for sling delegation pattern. I did find a few articles which pointed me in the right direction but I'm still unable to get the core components properties. Could anyone help in writing a minimal test case for a sling delegation model? Below is my code.
https://adapt.to/2021/schedule/whats-new-in-aem-mocks
https://github.com/adobe/aem-core-wcm-components/issues/1777
@ExtendWith(AemContextExtension.class)
public class CustomTextFormTest{
private final AemContext context = new AemContextBuilder(ResourceResolverType.JCR_MOCK)
.plugin(CORE_COMPONENTS)
.build();
private CustomTextForm customTextForm;
@BeforeEach
void setUp() {
context.create().resource("/apps/myproject/components/content/coreform/text",
"sling:resourceSuperType", "core/wcm/components/form/text/v2/text");
Page page = context.create().page("/content/test-page");
context.currentResource(context.create().resource(page, "extendedText",
"sling:resourceType", "myproject/components/content/coreform/text",
"required", "true",
"requiredMessage","Required message when required checkbox is true"
));
customTextForm= context.request().adaptTo(FormTextModel.class);
}
@Test
void testGetRequiredMessageWhenMsgIsAuthoredAndRequiredCheckBoxIsTrue() {
String expected = "Required message when required checkbox is true";
String actual = customTextForm.getRequiredMessage();
assertEquals(expected, actual);
}
}
