AEM QueryBuilder Junits
Hi,
We have a requirement to write Junits for Below code, can anyone please help us writing the code for junits for AEMAACS
Sample Code:
Request you to please provide the sample junits code for above example
Thanks & Regards
Hi,
We have a requirement to write Junits for Below code, can anyone please help us writing the code for junits for AEMAACS
Sample Code:
Hi @vishal33 ,
You will have to mock queryBuilder in JUNIT class.
Sample code you can follow would look something like below:
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private QueryBuilder queryBuilder;
@BeforeEach
public void setup() throws LoginException {
// setup mock service objects needed for the test
context.registerService(QueryService.class, queryService, org.osgi.framework.Constants.SERVICE_RANKING,
Integer.MAX_VALUE);
context.registerService(QueryBuilder.class, queryBuilder);
// load test content
context.load().json("<path-to-json-file>.json", "/content");
}
@Test
public void testOutput() {
Map<String, String> pageMap = new HashMap<>();
pageMap.put("parent", "<page-path>");
pageMap.put("comp", "root/<component-path>");
pageMap.put("page", "p1");
List<String> results = new ArrayList<>(Arrays.asList("/content/sample1",
"/content/sample2"));
SearchResults searchResults = new SearchResults();
searchResults.setTotalResults('1');
searchResults.setResults(results);
String expectedResponse = "<mention-your-expected-response"
String allItemsExpectedResponse = ""
Resource resource = context.currentResource("/content/<sample-path>");
when(queryService.executeSearchWithMetadata(any())).thenReturn(searchResults);
when(<class-name>.getSearchResults(1, new String[0],null)).thenReturn(searchResults);
assertEquals(2, <class-name>.generateOutput(resource, context.resourceResolver(), pageMap).size())
}
Thanks
Tarun
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.