Skip to content

Commit c08509d

Browse files
Muskan GuptaMuskan Gupta
authored andcommitted
Adding tests for coverage
1 parent 38d93f8 commit c08509d

File tree

2 files changed

+85
-0
lines changed

2 files changed

+85
-0
lines changed

bundles/af-core/src/test/java/com/adobe/cq/forms/core/components/internal/models/v1/form/FormStructureParserImplTest.java

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.junit.jupiter.api.extension.ExtendWith;
2929

3030
import com.adobe.cq.export.json.SlingModelFilter;
31+
import com.adobe.cq.forms.core.components.internal.constants.ThemeConstants;
3132
import com.adobe.cq.forms.core.components.internal.form.FormConstants;
3233
import com.adobe.cq.forms.core.components.models.form.*;
3334
import com.adobe.cq.forms.core.context.FormsCoreComponentTestContext;
@@ -179,6 +180,67 @@ public void containsFormContainer_should_return_false() {
179180
assertFalse(result);
180181
}
181182

183+
@Test
184+
void testGetThemeClientLibRefFromFormContainer() {
185+
String path = CONTENT_ROOT + "/myTestPage";
186+
FormStructureParser formStructureParser = getFormStructureParserUnderTest(path);
187+
String themeClientLibRef = formStructureParser.getThemeClientLibRefFromFormContainer();
188+
assertEquals("fdtheme.test-theme", themeClientLibRef);
189+
}
190+
191+
@Test
192+
void testGetThemeClientLibRefWithRequestAttribute() {
193+
String path = CONTENT_ROOT + "/myTestPage";
194+
context.currentResource(path);
195+
MockSlingHttpServletRequest request = context.request();
196+
request.setAttribute(ThemeConstants.THEME_OVERRIDE, "/content/dam/formsanddocuments-themes/test-theme");
197+
FormStructureParser formStructureParser = request.adaptTo(FormStructureParser.class);
198+
String themeClientLibRef = formStructureParser.getThemeClientLibRefFromFormContainer();
199+
assertEquals("fdtheme.test-theme", themeClientLibRef);
200+
}
201+
202+
@Test
203+
void testGetThemeClientLibRefWithRequestParameter() {
204+
String path = CONTENT_ROOT + "/myTestPage";
205+
context.currentResource(path);
206+
MockSlingHttpServletRequest request = context.request();
207+
request.setParameterMap(Collections.singletonMap(ThemeConstants.THEME_OVERRIDE,
208+
"/content/dam/formsanddocuments-themes/test-theme"));
209+
FormStructureParser formStructureParser = request.adaptTo(FormStructureParser.class);
210+
String themeClientLibRef = formStructureParser.getThemeClientLibRefFromFormContainer();
211+
assertEquals("fdtheme.test-theme", themeClientLibRef);
212+
}
213+
214+
@Test
215+
void testGetThemeClientLibRefWithInvalidThemePath() {
216+
String path = CONTENT_ROOT + "/myTestPage";
217+
context.currentResource(path);
218+
MockSlingHttpServletRequest request = context.request();
219+
request.setAttribute(ThemeConstants.THEME_OVERRIDE, "/content/dam/formsanddocuments-themes/invalid-theme");
220+
FormStructureParser formStructureParser = request.adaptTo(FormStructureParser.class);
221+
String themeClientLibRef = formStructureParser.getThemeClientLibRefFromFormContainer();
222+
assertNull(themeClientLibRef);
223+
}
224+
225+
@Test
226+
void testGetThemeClientLibRefWithNonExistentTheme() {
227+
String path = CONTENT_ROOT + "/myTestPage";
228+
context.currentResource(path);
229+
MockSlingHttpServletRequest request = context.request();
230+
request.setAttribute(ThemeConstants.THEME_OVERRIDE, "/content/dam/formsanddocuments-themes/non-existent");
231+
FormStructureParser formStructureParser = request.adaptTo(FormStructureParser.class);
232+
String themeClientLibRef = formStructureParser.getThemeClientLibRefFromFormContainer();
233+
assertNull(themeClientLibRef);
234+
}
235+
236+
@Test
237+
void testGetThemeClientLibRefWithoutTheme() {
238+
String path = FORM_CONTAINER_PATH + "/container1";
239+
FormStructureParser formStructureParser = getFormStructureParserUnderTest(path);
240+
String themeClientLibRef = formStructureParser.getThemeClientLibRefFromFormContainer();
241+
assertNull(themeClientLibRef);
242+
}
243+
182244
private FormStructureParser getFormStructureParserUnderTest(String resourcePath) {
183245
context.currentResource(resourcePath);
184246
MockSlingHttpServletRequest request = context.request();

bundles/af-core/src/test/resources/form/formstructparser/test-content.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"thankyouPage": "/a/b/c",
1515
"thankyouMessage": "message",
1616
"clientLibRef" : "abc",
17+
"themeRef": "/content/dam/formsanddocuments-themes/test-theme",
1718
"datepicker": {
1819
"jcr:primaryType": "nt:unstructured",
1920
"sling:resourceType": "core/fd/components/form/datepicker/v1/datepicker",
@@ -88,5 +89,27 @@
8889
}
8990
}
9091
}
92+
},
93+
"dam": {
94+
"jcr:primaryType": "nt:unstructured",
95+
"formsanddocuments-themes": {
96+
"jcr:primaryType": "nt:unstructured",
97+
"test-theme": {
98+
"jcr:primaryType": "nt:unstructured",
99+
"jcr:content": {
100+
"jcr:primaryType": "dam:AssetContent",
101+
"metadata": {
102+
"jcr:primaryType": "nt:unstructured",
103+
"clientlibCategory": "fdtheme.test-theme"
104+
}
105+
}
106+
},
107+
"invalid-theme": {
108+
"jcr:primaryType": "nt:unstructured",
109+
"jcr:content": {
110+
"jcr:primaryType": "dam:AssetContent"
111+
}
112+
}
113+
}
91114
}
92115
}

0 commit comments

Comments
 (0)