Skip to content

Commit 41f3572

Browse files
Merge pull request #785 from opensrp/bump-evaluator-version
Bump plan evaluator version
2 parents 4853ae9 + d63c580 commit 41f3572

File tree

5 files changed

+47
-12
lines changed

5 files changed

+47
-12
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION_NAME=4.3.2-SNAPSHOT
1+
VERSION_NAME=4.3.3-SNAPSHOT
22
VERSION_CODE=1
33
GROUP=org.smartregister
44
POM_SETTING_DESCRIPTION=OpenSRP Client Core Application

opensrp-app/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ dependencies {
230230

231231
implementation 'org.smartregister:opensrp-client-utils:0.0.2-SNAPSHOT'
232232

233-
implementation 'org.smartregister:opensrp-plan-evaluator:1.3.1-SNAPSHOT'
233+
implementation 'org.smartregister:opensrp-plan-evaluator:1.5.1-SNAPSHOT'
234234

235235
implementation 'xerces:xercesImpl:2.12.0'
236236

opensrp-app/src/main/java/org/smartregister/repository/TaskRepository.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -710,10 +710,18 @@ public int getUnsyncedCreatedTasksAndTaskStatusCount() {
710710

711711
@NonNull
712712
public Set<Task> getTasksByJurisdictionAndPlan(@NonNull String jurisdictionId, String planIdentifier) {
713-
String query = "SELECT * FROM " + TASK_TABLE + " WHERE " + GROUP_ID + " = ? AND " + PLAN_ID + " = ?";
713+
String query = TextUtils.join(" ",
714+
new String[]{"SELECT * FROM", TASK_TABLE, "WHERE", GROUP_ID, "=?", "AND", PLAN_ID, "=?"});
714715
return getTasks(query, new String[]{jurisdictionId, planIdentifier});
715716
}
716717

718+
@NonNull
719+
public Set<Task> getTasksByJurisdiction(@NonNull String jurisdictionId) {
720+
String query = TextUtils.join(" ",
721+
new String[]{"SELECT * FROM", TASK_TABLE, "WHERE", GROUP_ID, "=?"});
722+
return getTasks(query, new String[]{jurisdictionId});
723+
}
724+
717725
public List<String> getEntityIdsWithDuplicateTasks() {
718726
List<String> entityIds = new ArrayList<>();
719727
android.database.Cursor cursor = null;

opensrp-app/src/main/java/org/smartregister/repository/dao/TaskDaoImpl.java

+13-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.smartregister.repository.TaskRepository;
1818

1919
import java.util.List;
20+
import java.util.Set;
2021
import java.util.stream.Collectors;
2122

2223
import static org.smartregister.AllConstants.INTENT_KEY.TASK_GENERATED;
@@ -88,9 +89,18 @@ public org.smartregister.domain.Task updateTask(org.smartregister.domain.Task ta
8889

8990

9091
@Override
91-
public List<Task> findTasksByJurisdiction(String jurisdiction,String planIdentifier) {
92-
return getTasksByJurisdictionAndPlan(jurisdiction,planIdentifier)
93-
.stream()
92+
public List<Task> findTasksByJurisdiction(String jurisdiction, String planIdentifier) {
93+
return convertToListOfFHIRTasks(getTasksByJurisdictionAndPlan(jurisdiction, planIdentifier));
94+
}
95+
96+
@Override
97+
public List<Task> findTasksByJurisdiction(String jurisdiction) {
98+
return convertToListOfFHIRTasks(getTasksByJurisdiction(jurisdiction));
99+
100+
}
101+
102+
private List<Task> convertToListOfFHIRTasks(Set<org.smartregister.domain.Task> tasks) {
103+
return tasks.stream()
94104
.map(TaskConverter::convertTasktoFihrResource)
95105
.collect(Collectors.toList());
96106
}

opensrp-app/src/test/java/org/smartregister/repository/dao/TaskDaoImplTest.java

+23-6
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import android.content.Intent;
44

5-
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
6-
75
import com.ibm.fhir.model.resource.QuestionnaireResponse;
86
import com.ibm.fhir.model.resource.Task;
97

@@ -30,6 +28,8 @@
3028
import java.util.List;
3129
import java.util.UUID;
3230

31+
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
32+
3333
import static com.ibm.fhir.model.type.code.TaskStatus.READY;
3434
import static org.junit.Assert.assertEquals;
3535
import static org.junit.Assert.assertNotNull;
@@ -107,22 +107,39 @@ public void testFindTasksForEntity() {
107107
}
108108

109109
@Test
110-
public void testFindTasksByJurisdiction() {
110+
public void testFindTasksByJurisdictionAndPlanShouldReturnMatchingRecords() {
111111
String jurisdictionId = "jurisdiction-id";
112112
String planId = "plan-id";
113113

114-
String query = "SELECT * FROM task WHERE group_id = ? AND plan_id = ?";
115-
when(sqLiteDatabase.rawQuery(query, new String[]{jurisdictionId,planId})).thenReturn(getCursor());
114+
String query = "SELECT * FROM task WHERE group_id =? AND plan_id =?"; // ensure query exactly matches what is in TaskDaoImpl
115+
when(sqLiteDatabase.rawQuery(query, new String[]{jurisdictionId, planId})).thenReturn(getCursor());
116116
taskDao = Mockito.spy(taskDao);
117117

118118
// Call the method under test
119-
List<Task> allTasks = taskDao.findTasksByJurisdiction(jurisdictionId,planId);
119+
List<Task> allTasks = taskDao.findTasksByJurisdiction(jurisdictionId, planId);
120120

121121
// Perform verifications and assertions
122122
verify(taskDao).getTasksByJurisdictionAndPlan(jurisdictionId, planId);
123123
assertEquals(1, allTasks.size());
124124
}
125125

126+
@Test
127+
public void testFindTasksByJurisdictionShouldReturnMatchingRecords() {
128+
String jurisdictionId = "jurisdiction-id";
129+
130+
String query = "SELECT * FROM task WHERE group_id =?"; // ensure query exactly matches what is in TaskDaoImpl
131+
when(sqLiteDatabase.rawQuery(query, new String[]{jurisdictionId})).thenReturn(getCursor());
132+
taskDao = Mockito.spy(taskDao);
133+
134+
// Call the method under test
135+
List<Task> allTasks = taskDao.findTasksByJurisdiction(jurisdictionId);
136+
137+
// Perform verifications and assertions
138+
verify(taskDao).getTasksByJurisdiction(jurisdictionId);
139+
assertEquals(1, allTasks.size());
140+
}
141+
142+
126143
@Test
127144
public void testUpdateTaskShouldInvokeExpectedMethods() {
128145
taskDao = Mockito.spy(taskDao);

0 commit comments

Comments
 (0)