Skip to content

Commit

Permalink
Merge pull request #1531 from dimagi/jt/clear-on-search
Browse files Browse the repository at this point in the history
Adds searchOnClear to queryResponse
  • Loading branch information
Jtang-1 authored Jan 22, 2024
2 parents 432c9df + 402dca4 commit 59121b3
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class QueryResponseBean extends MenuBean {
private final String type = "query";
private String description;
private Hashtable<String, String> groupHeaders;
private Boolean searchOnClear;

QueryResponseBean() {
}
Expand Down Expand Up @@ -54,6 +55,14 @@ public void setGroupHeaders(Hashtable<String, String> groupHeaders){
this.groupHeaders = groupHeaders;
}

public boolean isSearchOnClear() {
return searchOnClear;
}

public void setIsSearchOnClear(boolean searchOnClear) {
this.searchOnClear = searchOnClear;
}

public QueryResponseBean(QueryScreen queryScreen) {
OrderedHashtable<String, QueryPrompt> queryPromptMap = queryScreen.getUserInputDisplays();
Hashtable<String, String> currentAnswers = queryScreen.getCurrentAnswers();
Expand Down Expand Up @@ -101,6 +110,7 @@ public QueryResponseBean(QueryScreen queryScreen) {
setDescription(queryScreen.getDescriptionText());
setQueryKey(queryScreen.getQueryKey());
setDynamicSearch(queryScreen.getDynamicSearch());
setIsSearchOnClear(queryScreen.isSearchOnClear());
}

@Override
Expand Down
17 changes: 17 additions & 0 deletions src/test/java/org/commcare/formplayer/tests/CaseClaimTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,23 @@ public void testDynamicSearch() throws Exception {
assertFalse(queryResponseBean.getDynamicSearch());
}

@Test
public void testSearchOnClear() throws Exception {
configureQueryMock();
// Run query with an app with dynamic_search true and verify
QueryData queryData = new QueryData();
queryData.setForceManualSearch("search_command.m1_results", true);
QueryResponseBean queryResponseBean = runQuery(queryData);
assertTrue(queryResponseBean.isSearchOnClear());

// Run query with an app with dynamic_search false and verify
queryResponseBean = sessionNavigateWithQuery(new String[]{"1"},
"case_claim_eof_navigation",
null,
QueryResponseBean.class);
assertFalse(queryResponseBean.isSearchOnClear());
}

@Test
public void testEmptySearch() throws Exception {
configureQueryMock();
Expand Down
2 changes: 1 addition & 1 deletion src/test/resources/archives/caseclaim/suite.xml
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@
<instance id="state" src="jr://fixture/item-list:state"/>
<instance id="my-search-input" src="jr://instance/search-input/results"/>
<session>
<query url="http://localhost:8000/a/test/phone/search/" template="case" storage-instance="results" default_search="true" dynamic_search="true">
<query url="http://localhost:8000/a/test/phone/search/" template="case" storage-instance="results" default_search="true" dynamic_search="true" search_on_clear="true">
<data ref="'case1'" key="case_type"/>
<data ref="'case2'" key="case_type"/>
<data ref="'case3'" key="case_type"/>
Expand Down

0 comments on commit 59121b3

Please sign in to comment.