diff --git a/opensrp-chw-core/build.gradle b/opensrp-chw-core/build.gradle
index 9ba8b0e830..5b82caca71 100644
--- a/opensrp-chw-core/build.gradle
+++ b/opensrp-chw-core/build.gradle
@@ -152,6 +152,7 @@ dependencies {
exclude group: 'com.android.support', module: 'design'
exclude group: 'io.ona.rdt-capture', module: 'lib'
exclude group: 'com.google.guava', module: 'guava'
+ exclude group: 'com.github.raihan-mpower', module: 'FancyAlertDialog-Android'
}
compileOnly 'com.ibm.fhir:fhir-model:4.7.0'
diff --git a/opensrp-chw-core/src/main/res/anim/slide_in.xml b/opensrp-chw-core/src/main/res/anim/slide_in.xml
new file mode 100644
index 0000000000..369ee121d5
--- /dev/null
+++ b/opensrp-chw-core/src/main/res/anim/slide_in.xml
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/opensrp-chw-core/src/main/res/anim/slide_out.xml b/opensrp-chw-core/src/main/res/anim/slide_out.xml
new file mode 100644
index 0000000000..df981bde8a
--- /dev/null
+++ b/opensrp-chw-core/src/main/res/anim/slide_out.xml
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/opensrp-chw-core/src/test/java/org/smartregister/chw/core/repository/MalariaRegisterRepositoryTest.java b/opensrp-chw-core/src/test/java/org/smartregister/chw/core/repository/MalariaRegisterRepositoryTest.java
new file mode 100644
index 0000000000..baa0b14e2e
--- /dev/null
+++ b/opensrp-chw-core/src/test/java/org/smartregister/chw/core/repository/MalariaRegisterRepositoryTest.java
@@ -0,0 +1,94 @@
+package org.smartregister.chw.core.repository;
+
+import static org.smartregister.repository.BaseRepository.COLLATE_NOCASE;
+
+import net.sqlcipher.MatrixCursor;
+import net.sqlcipher.database.SQLiteDatabase;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.smartregister.chw.anc.util.Constants;
+import org.smartregister.chw.core.BaseRobolectricTest;
+
+import java.util.HashMap;
+
+public class MalariaRegisterRepositoryTest extends BaseRobolectricTest {
+ @Mock
+ private MalariaRegisterRepository malariaRegisterRepository;
+
+ @Mock
+ private SQLiteDatabase database;
+
+ @Captor
+ ArgumentCaptor tableNameCaptor;
+ @Captor
+ ArgumentCaptor tableColumnsCaptor;
+ @Captor
+ ArgumentCaptor selectionCaptor;
+ @Captor
+ ArgumentCaptor selectionArgsCaptor;
+ @Captor
+ ArgumentCaptor groupByCaptor;
+ @Captor
+ ArgumentCaptor havingCaptor;
+ @Captor
+ ArgumentCaptor orderByCaptor;
+
+
+ @Before
+ public void setUp() throws Exception {
+ malariaRegisterRepository = Mockito.spy(new MalariaRegisterRepository());
+ Mockito.doReturn(database).when(malariaRegisterRepository).getReadableDatabase();
+ }
+
+ @Test
+ public void testDatabaseQueryIsCreatedWithTheCorrectArgumentInGetFamilyNamePhone(){
+ String baseEntityId = "4b3e6408-0549-470a-b24a-82ac71180a30";
+ String selection = "base_entity_id = ? "+COLLATE_NOCASE;
+ malariaRegisterRepository.getFamilyNameAndPhone(baseEntityId);
+ Mockito.verify(database).query(tableNameCaptor.capture(), tableColumnsCaptor.capture(), selectionCaptor.capture(), selectionArgsCaptor.capture(),
+ groupByCaptor.capture(), havingCaptor.capture(), orderByCaptor.capture());
+ Assert.assertEquals(MalariaRegisterRepository.TABLE_NAME, tableNameCaptor.getValue());
+ Assert.assertArrayEquals(MalariaRegisterRepository.TABLE_COLUMNS, tableColumnsCaptor.getValue());
+ Assert.assertArrayEquals(new String[]{baseEntityId}, selectionArgsCaptor.getValue());
+ Assert.assertEquals(selection, selectionCaptor.getValue());
+ }
+
+
+
+ @Test
+ public void testGetFamilyNameAndPhoneWithBaseEntityIdReturnsCorrectDetails(){
+
+ String correctBaseEntityId = "4b3e6408-0549-470a-b24a-82ac71180a30";
+
+ HashMap results = new HashMap<>();
+ results.put(Constants.ANC_MEMBER_OBJECTS.FAMILY_HEAD_NAME, "Emilio Mwai Kibaki");
+ results.put(Constants.ANC_MEMBER_OBJECTS.FAMILY_HEAD_PHONE, "0799938383");
+
+ MatrixCursor mockCursor = new MatrixCursor(new String[]
+ {
+ MalariaRegisterRepository.FIRST_NAME,
+ MalariaRegisterRepository.LAST_NAME,
+ MalariaRegisterRepository.MIDDLE_NAME,
+ MalariaRegisterRepository.PHONE_NUMBER
+ });
+
+ mockCursor.newRow()
+ .add("Emilio")
+ .add("Kibaki")
+ .add("Mwai")
+ .add("0799938383");
+
+ Mockito.doReturn(mockCursor).when(database).query(Mockito.any(), Mockito.any(), Mockito.any(),
+ Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
+
+ Assert.assertEquals(results, malariaRegisterRepository.getFamilyNameAndPhone(correctBaseEntityId));
+
+ }
+
+}