Skip to content

Commit 2bd4e84

Browse files
committed
LMH1-211: Display "Child vaccine card recieved" for children less than 5 years
1 parent 47df06e commit 2bd4e84

File tree

4 files changed

+40
-14
lines changed

4 files changed

+40
-14
lines changed

opensrp-chw/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,8 +351,8 @@ android {
351351
lmh {
352352
dimension = 'baseDimension'
353353
applicationIdSuffix ".lmh"
354-
versionCode 6
355-
versionName "2.0.1"
354+
versionCode 7
355+
versionName "2.0.3"
356356
buildConfigField "int", "OPENMRS_UNIQUE_ID_INITIAL_BATCH_SIZE", '10000'
357357
buildConfigField "int", "OPENMRS_UNIQUE_ID_BATCH_SIZE", '10000'
358358
buildConfigField "int", "OPENMRS_UNIQUE_ID_SOURCE", '1'

opensrp-chw/src/lmh/java/org/smartregister/chw/interactor/ChildHomeVisitInteractorFlv.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.smartregister.chw.interactor;
22

33

4+
import org.joda.time.LocalDate;
45
import org.smartregister.chw.anc.model.BaseAncHomeVisitAction;
56
import org.smartregister.chw.dao.ChwChildDao;
67
import org.smartregister.immunization.domain.ServiceWrapper;
@@ -42,4 +43,11 @@ protected int vaccineCardCeiling() {
4243
return 60;
4344
}
4445

46+
@Override
47+
protected void evaluateChildVaccineCard() throws Exception {
48+
// expires on 5 years. verify that vaccine card is not received
49+
if (new LocalDate().isBefore(new LocalDate(dob).plusYears(5)) && !vaccineCardReceived) {
50+
addChildVaccineCardCardAction();
51+
}
52+
}
4553
}

opensrp-chw/src/main/java/org/smartregister/chw/interactor/DefaultChildHomeVisitInteractorFlv.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -204,21 +204,25 @@ protected int immunizationCeiling() {
204204
return 24;
205205
}
206206

207+
protected void addChildVaccineCardCardAction() throws BaseAncHomeVisitAction.ValidationException {
208+
Map<String, List<VisitDetail>> details = getDetails(Constants.EventType.CHILD_VACCINE_CARD_RECEIVED);
209+
210+
BaseAncHomeVisitAction vaccine_card = getBuilder(context.getString(R.string.vaccine_card_title))
211+
.withOptional(false)
212+
.withDetails(details)
213+
.withBaseEntityID(memberObject.getBaseEntityId())
214+
.withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE)
215+
.withHelper(new ChildVaccineCardHelper(dob))
216+
.withDestinationFragment(BaseAncHomeVisitFragment.getInstance(view, Constants.JSON_FORM.CHILD_HOME_VISIT.getVaccineCard(), null, details, null))
217+
.build();
218+
219+
actionList.put(context.getString(R.string.vaccine_card_title), vaccine_card);
220+
}
221+
207222
protected void evaluateChildVaccineCard() throws Exception {
208223
// expires after 24 months. verify that vaccine card is not received
209224
if (!new LocalDate().isAfter(new LocalDate(dob).plusMonths(24)) && !vaccineCardReceived) {
210-
Map<String, List<VisitDetail>> details = getDetails(Constants.EventType.CHILD_VACCINE_CARD_RECEIVED);
211-
212-
BaseAncHomeVisitAction vaccine_card = getBuilder(context.getString(R.string.vaccine_card_title))
213-
.withOptional(false)
214-
.withDetails(details)
215-
.withBaseEntityID(memberObject.getBaseEntityId())
216-
.withProcessingMode(BaseAncHomeVisitAction.ProcessingMode.SEPARATE)
217-
.withHelper(new ChildVaccineCardHelper(dob))
218-
.withDestinationFragment(BaseAncHomeVisitFragment.getInstance(view, Constants.JSON_FORM.CHILD_HOME_VISIT.getVaccineCard(), null, details, null))
219-
.build();
220-
221-
actionList.put(context.getString(R.string.vaccine_card_title), vaccine_card);
225+
addChildVaccineCardCardAction();
222226
}
223227
}
224228

opensrp-chw/src/test/java/org/smartregister/chw/BaseActivityTestSetUp.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
import org.mockito.junit.MockitoRule;
1111
import org.robolectric.Robolectric;
1212
import org.robolectric.android.controller.ActivityController;
13+
import org.smartregister.Context;
14+
import org.smartregister.CoreLibrary;
15+
16+
import java.util.ArrayList;
1317

1418
/**
1519
* @param <T>
@@ -26,6 +30,16 @@ public abstract class BaseActivityTestSetUp<T extends Activity> extends BaseUnit
2630
@Before
2731
public void setUp() {
2832
MockitoAnnotations.initMocks(this);
33+
Context context = Context.getInstance();
34+
Context.bindtypes = new ArrayList<>();
35+
CoreLibrary.init(context);
36+
37+
//Auto login by default
38+
String password = "pwd";
39+
context.session().start(context.session().lengthInMilliseconds());
40+
context.configuration().getDrishtiApplication().setPassword(password.getBytes());
41+
context.session().setPassword(password.getBytes());
42+
2943
if (getControllerIntent() == null) {
3044
controller = Robolectric.buildActivity(getActivityClass()).create().start();
3145
} else {

0 commit comments

Comments
 (0)