Skip to content

Commit

Permalink
Merge branch 'master' into images-and-text-label-view
Browse files Browse the repository at this point in the history
  • Loading branch information
qaziabubakar-vd authored Feb 4, 2021
2 parents 49d1c3d + 3a53a9a commit 5ff291c
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -190,15 +190,15 @@ private String getChildrenForPncWoman(String baseEntityId) {
getString(R.string.children_prefix, children);
}

private void updateProblemDisplay() {
protected void updateProblemDisplay() {
if (CoreConstants.TASKS_FOCUS.ANC_DANGER_SIGNS.equals(getTask().getFocus())) {
clientReferralProblem.setText(getString(R.string.anc_danger_sign_prefix, getTask().getDescription()));
} else {
clientReferralProblem.setText(getTask().getDescription());
}
}

private String getFamilyMemberContacts() {
protected String getFamilyMemberContacts() {

String familyPhoneNumber = Utils.getValue(getPersonObjectClient().getColumnmaps(), ChildDBConstants.KEY.FAMILY_MEMBER_PHONENUMBER, true);
String familyPhoneNumberOther = Utils.getValue(getPersonObjectClient().getColumnmaps(), ChildDBConstants.KEY.FAMILY_MEMBER_PHONENUMBER_OTHER, true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.LinearLayout;

import org.joda.time.DateTime;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
Expand All @@ -12,17 +15,27 @@
import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
import org.smartregister.chw.anc.domain.MemberObject;
import org.smartregister.chw.core.BaseUnitTest;
import org.smartregister.chw.core.shadows.PNCDaoShadowHelper;
import org.smartregister.chw.core.shadows.ShadowReferralTaskViewActivity;
import org.smartregister.chw.core.utils.ChildDBConstants;
import org.smartregister.chw.core.utils.CoreConstants;
import org.smartregister.commonregistry.CommonPersonObjectClient;
import org.smartregister.domain.Period;
import org.smartregister.domain.Task;
import org.smartregister.family.util.DBConstants;
import org.smartregister.view.customcontrols.CustomFontTextView;

import java.util.HashMap;
import java.util.Map;

import static org.smartregister.chw.malaria.util.DBConstants.KEY.PHONE_NUMBER;
import static org.smartregister.family.util.DBConstants.KEY.OTHER_PHONE_NUMBER;

@Config(shadows = {PNCDaoShadowHelper.class})
public class BaseReferralTaskViewActivityTest extends BaseUnitTest {

private ActivityController<ShadowReferralTaskViewActivity> controller;
Expand All @@ -35,8 +48,7 @@ public void setUp() {
intent.putExtra(CoreConstants.INTENT_KEY.USERS_TASKS, getTestTask());
controller = Robolectric.buildActivity(ShadowReferralTaskViewActivity.class, intent).create().start();
referralTaskViewActivity = controller.get();
Map<String, String> details = new HashMap<>();
CommonPersonObjectClient commonPersonObject = new CommonPersonObjectClient("case-id", details, "StoneField Mack");
CommonPersonObjectClient commonPersonObject = new CommonPersonObjectClient("case-id", new HashMap<>(), "StoneField Mack");
BaseReferralTaskViewActivity.setPersonObjectClient(commonPersonObject);
}

Expand Down Expand Up @@ -68,13 +80,67 @@ public void updateProblemDisplaySetsReferralProblem() throws Exception {
}


@Test
public void getReferralDetailsSetsCorrectValues() {
CustomFontTextView clientName = Mockito.mock(CustomFontTextView.class);
CustomFontTextView referralDate = Mockito.mock(CustomFontTextView.class);
LinearLayout careGiverLayout = Mockito.mock(LinearLayout.class);
CustomFontTextView careGiverPhone = Mockito.mock(CustomFontTextView.class);
CustomFontTextView chwDetailsNames = Mockito.mock(CustomFontTextView.class);
LinearLayout womanGaLayout = Mockito.mock(LinearLayout.class);
CustomFontTextView clientReferralProblem = Mockito.mock(CustomFontTextView.class);
CustomFontTextView womanGa = Mockito.mock(CustomFontTextView.class);

MemberObject memberObject = new MemberObject();
memberObject.setLastMenstrualPeriod( DateTime.now().minusMonths(1).toString());

ReflectionHelpers.setField(referralTaskViewActivity, "clientName", clientName);
ReflectionHelpers.setField(referralTaskViewActivity, "referralDate", referralDate);
ReflectionHelpers.setField(referralTaskViewActivity, "careGiverLayout", careGiverLayout);
ReflectionHelpers.setField(referralTaskViewActivity, "careGiverPhone", careGiverPhone);
ReflectionHelpers.setField(referralTaskViewActivity, "chwDetailsNames", chwDetailsNames);
ReflectionHelpers.setField(referralTaskViewActivity, "womanGaLayout", womanGaLayout);
ReflectionHelpers.setField(referralTaskViewActivity, "memberObject", memberObject);
ReflectionHelpers.setField(referralTaskViewActivity, "clientReferralProblem", clientReferralProblem);
ReflectionHelpers.setField(referralTaskViewActivity, "womanGa", womanGa);

ReflectionHelpers.setField(referralTaskViewActivity, "name", "StoneField Mack");
Map<String, String> columnMaps = new HashMap<>();
columnMaps.put(DBConstants.KEY.DOB, "01-01-2020");
columnMaps.put(PHONE_NUMBER, "+254123456789");
columnMaps.put(OTHER_PHONE_NUMBER, "+2541234567810");
columnMaps.put(ChildDBConstants.KEY.FAMILY_MEMBER_PHONENUMBER, "+2541234567811");

CommonPersonObjectClient commonPersonObjectClient = new CommonPersonObjectClient("case-id", new HashMap<>(), "StoneField Mack");
commonPersonObjectClient.setColumnmaps(columnMaps);
BaseReferralTaskViewActivity.setPersonObjectClient(commonPersonObjectClient);


referralTaskViewActivity = Mockito.spy(referralTaskViewActivity);
referralTaskViewActivity.getReferralDetails();
Mockito.verify(referralTaskViewActivity, Mockito.times(1)).updateProblemDisplay();
Mockito.verify(clientName, Mockito.times(1)).setText(ArgumentMatchers.anyString());
Mockito.verify(referralDate, Mockito.times(1)).setText(ArgumentMatchers.anyString());
Mockito.verify(careGiverLayout, Mockito.times(1)).setVisibility(ArgumentMatchers.eq(View.GONE));
Mockito.verify(referralTaskViewActivity, Mockito.times(1)).getFamilyMemberContacts();
Mockito.verify(careGiverPhone, Mockito.times(1)).setText(ArgumentMatchers.anyString());
Mockito.verify(chwDetailsNames, Mockito.times(1)).setText(ArgumentMatchers.anyString());
Mockito.verify(referralTaskViewActivity, Mockito.times(1)).addGaDisplay();

Mockito.verify(careGiverPhone, Mockito.times(1)).setText(ArgumentMatchers.eq("+254123456789, +2541234567810"));
Mockito.verify(chwDetailsNames, Mockito.times(1)).setText(ArgumentMatchers.eq("Test Requester"));
}


public Task getTestTask() {
Task task = new Task();
task.setCode("192919-test-code");
task.setFocus("ANC Danger Signs");
task.setLocation("some-location");
task.setGroupIdentifier("some-group-id");
task.setDescription("ANC Signs");
task.setExecutionPeriod(new Period(DateTime.now().minusDays(1), DateTime.now().plusDays(1)));
task.setRequester("Test Requester");
return task;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.smartregister.chw.core.shadows;

import org.joda.time.DateTime;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.smartregister.chw.core.dao.PNCDao;
import org.smartregister.chw.core.model.ChildModel;

import java.util.ArrayList;
import java.util.List;

@Implements(PNCDao.class)
public class PNCDaoShadowHelper {

@Implementation
public static List<ChildModel> childrenForPncWoman(String baseEntityId) {
List<ChildModel> childrenModels = new ArrayList<>();
childrenModels.add(new ChildModel("Energizer Bunny", DateTime.now().minusMonths(6).toString(), "Manson", "test-entity-id"));
return childrenModels;
}

}

0 comments on commit 5ff291c

Please sign in to comment.