Skip to content

Commit fb1fe18

Browse files
committed
Added campaign data class builder and Test case using family survey builder
1 parent a00d02f commit fb1fe18

File tree

4 files changed

+113
-59
lines changed

4 files changed

+113
-59
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.iprd.intent_proto;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
public class CampaignDataClassBuilder {
7+
8+
public CampaignDataClassBuilder setId(String id) {
9+
campaignDataClass.setId(id);
10+
return this;
11+
}
12+
13+
public CampaignDataClassBuilder setName(String name) {
14+
campaignDataClass.setName(name);
15+
return this;
16+
}
17+
18+
public CampaignDataClassBuilder setVerticals(ArrayList<Integer> verticals) {
19+
campaignDataClass.setVerticals(verticals);
20+
return this;
21+
}
22+
23+
public CampaignDataClassBuilder setUrl(String url) {
24+
campaignDataClass.setUrl(url);
25+
return this;
26+
}
27+
28+
public CampaignDataClassBuilder setLocationPrecision(Integer locationPrecision) {
29+
campaignDataClass.setLocationPrecision(locationPrecision);
30+
return this;
31+
}
32+
33+
public CampaignDataClassBuilder setTimePrecision(Integer timePrecision) {
34+
campaignDataClass.setTimePrecision(timePrecision);
35+
return this;
36+
}
37+
38+
public CampaignDataClassBuilder setUdf(List<KeyTypeValue> udf) {
39+
campaignDataClass.setUdf(udf);
40+
return this;
41+
}
42+
43+
private CampaignDataClass campaignDataClass;
44+
45+
public CampaignDataClassBuilder(){
46+
campaignDataClass = new CampaignDataClass();
47+
}
48+
49+
public CampaignDataClass build(){
50+
return campaignDataClass;
51+
}
52+
}

intent-proto/src/main/java/com/iprd/intent_proto/KeyTypeValue.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public KeyTypeValue(){
2222

2323
}
2424

25-
public KeyTypeValue(String key,String value,String type){
25+
public KeyTypeValue(String key,String type,String value){
2626
this.key = key;
2727
this.value = value;
2828
this.type = type;

intent-proto/src/test/java/com/iprd/intent_proto/BaseBaseRequestMessageBuilderUnitTest.java

Lines changed: 56 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import org.junit.Test;
44

5+
import java.util.ArrayList;
6+
7+
import static org.junit.Assert.assertArrayEquals;
58
import static org.junit.Assert.assertEquals;
69

710
/**
@@ -12,60 +15,59 @@
1215
public class BaseBaseRequestMessageBuilderUnitTest {
1316
@Test
1417
public void build_withJsonString_correctRequestMessageBuilt() {
15-
String inputJson = "{\n" +
16-
" \"campaign\": {\n" +
17-
" \"id\": \"6ecb0566-7006-4382-9cdc-202d9010858a\",\n" +
18-
" \"name\": \"Oyo State June 2021 Health Campaign\",\n" +
19-
" \"verticals\": [\n" +
20-
" 2,\n" +
21-
" 5\n" +
22-
" ],\n" +
23-
" \"url\": \"https://health.oyostate.gov.ng/tomotiya/\",\n" +
24-
" \"location_prec\": 3,\n" +
25-
" \"time_prec\": 4,\n" +
26-
" \"udf\": [\n" +
27-
" {\n" +
28-
" \"k\": \"PHC ID\",\n" +
29-
" \"v\": \"30/25/1/1/1/0020\"\n" +
30-
" },\n" +
31-
" {\n" +
32-
" \"k\": \"PHC Name\",\n" +
33-
" \"v\": \"Ifelodun Primary Health Centre\"\n" +
34-
" },\n" +
35-
" {\n" +
36-
" \"k\": \"PHC Location\",\n" +
37-
" \"t\": \"url\",\n" +
38-
" \"v\": \"https://goo.gl/maps/AyondpDQRZPNJxUi7\"\n" +
39-
" },\n" +
40-
" {\n" +
41-
" \"k\": \"PHC Phone No\",\n" +
42-
" \"t\": \"tel\",\n" +
43-
" \"v\": \"+234 (0) 803 852 1693\"\n" +
44-
" }\n" +
45-
" ]\n" +
46-
" },\n" +
47-
" \"familyId\": \"789\",\n" +
48-
" \"hcwUserName\": \"nks@apra.in\",\n" +
49-
" \"primaryContactPhone\": \"\",\n" +
50-
" \"openCampLinkId\": \"\",\n" +
51-
" \"familyMembers\": [\n" +
52-
" {\n" +
53-
" \"memberId\": \"11\",\n" +
54-
" \"name\": \"Matt\",\n" +
55-
" \"dob\": \"1996-09-25\",\n" +
56-
" \"gender\": \"M\",\n" +
57-
" \"status\": \"New\",\n" +
58-
" \"head\": true\n" +
59-
" },\n" +
60-
" {\n" +
61-
" \"memberId\": \"12\",\n" +
62-
" \"name\": \"Roma\",\n" +
63-
" \"dob\": \"1997-06-12\",\n" +
64-
" \"gender\": \"F\",\n" +
65-
" \"status\": \"New\"\n" +
66-
" }\n" +
67-
" ]\n" +
68-
"}";
18+
KeyTypeValue keyTypeValue = new KeyTypeValue("key", "type", "value");
19+
ArrayList<KeyTypeValue> udf = new ArrayList<>();
20+
udf.add(keyTypeValue);
21+
ArrayList<Integer> verticals = new ArrayList<>();
22+
verticals.add(2);
23+
CampaignDataClass campaignDataClass =
24+
new CampaignDataClassBuilder()
25+
.setId("campId")
26+
.setName("campName")
27+
.setUrl("url")
28+
.setVerticals(verticals)
29+
.setLocationPrecision(2)
30+
.setTimePrecision(3)
31+
.setUdf(udf)
32+
.build();
33+
34+
FamilyMemberDataClass[] familyMemberDataClasses = new FamilyMemberDataClass[]{
35+
new FamilyMemberDataBuilder()
36+
.setDob("12-09-2021")
37+
.setGender("M")
38+
.setHead(true)
39+
.setMemberID("1234")
40+
.setName("kash")
41+
.setStatus("NEW")
42+
.build()
43+
};
44+
45+
FamilySurveyMessageRequest familySurveyMessageRequest =
46+
new FamilySurveyMessageRequestBuilder()
47+
.setCampaign(campaignDataClass)
48+
.setFamilyID("tempID")
49+
.setHcwUserName("tempUser")
50+
.setHomeImageUri("ImageTempUri")
51+
.setPrimaryContactPhone("123456")
52+
.setVerificationMethod("BIOMETRIC")
53+
.setOpenCampLinkId("ABCD")
54+
.setFamilyMembers(familyMemberDataClasses)
55+
.build();
56+
57+
assertEquals(familySurveyMessageRequest.getCampaign().getId(),"campId");
58+
assertEquals(familySurveyMessageRequest.getCampaign().getName(),"campName");
59+
assertEquals(familySurveyMessageRequest.getCampaign().getVerticals(),verticals);
60+
assertEquals(familySurveyMessageRequest.getCampaign().getUrl(),"url");
61+
assertEquals((long)familySurveyMessageRequest.getCampaign().getLocationPrecision(),(long)Integer.parseInt("2"));
62+
assertEquals((long)familySurveyMessageRequest.getCampaign().getTimePrecision(),(long)Integer.parseInt("3"));
63+
assertEquals(familySurveyMessageRequest.getCampaign().getUdf(), udf);
64+
assertEquals(familySurveyMessageRequest.getFamilyID(),"tempID");
65+
assertEquals(familySurveyMessageRequest.getHcwUserName(),"tempUser");
66+
assertEquals(familySurveyMessageRequest.getPrimaryContactPhone(),"123456");
67+
assertEquals(familySurveyMessageRequest.getOpenCampLinkId(),"ABCD");
68+
assertEquals(familySurveyMessageRequest.getVerificationMethod(), FamilySurveyMessageRequest.VerificationMethod.BIOMETRIC);
69+
assertEquals(familySurveyMessageRequest.getHomeImageUri(),"ImageTempUri");
70+
assertArrayEquals(familySurveyMessageRequest.getFamilyMembers(),familyMemberDataClasses);
6971

7072
}
7173

intent-proto/src/test/java/com/iprd/intent_proto/FamilySurveyMessageRequestUnitTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,10 @@ public void build_withJsonString_correctFamilySurveyDataClassParsed() throws JSO
8989
assertEquals((long)familySurveyMessageRequest.getCampaign().getLocationPrecision(),(long)Integer.parseInt("3"));
9090
assertEquals((long)familySurveyMessageRequest.getCampaign().getTimePrecision(),(long)Integer.parseInt("4"));
9191
ArrayList<KeyTypeValue> udfExpected = new ArrayList();
92-
KeyTypeValue valueOne = new KeyTypeValue("PHC ID","30/25/1/1/1/0020",null);
93-
KeyTypeValue valueTwo = new KeyTypeValue("PHC Name","Ifelodun Primary Health Centre",null);
94-
KeyTypeValue valueThird = new KeyTypeValue("PHC Location","https://goo.gl/maps/AyondpDQRZPNJxUi7","url");
95-
KeyTypeValue valueFourth = new KeyTypeValue("PHC Phone No","+234 (0) 803 852 1693","tel");
92+
KeyTypeValue valueOne = new KeyTypeValue("PHC ID",null,"30/25/1/1/1/0020");
93+
KeyTypeValue valueTwo = new KeyTypeValue("PHC Name",null,"Ifelodun Primary Health Centre");
94+
KeyTypeValue valueThird = new KeyTypeValue("PHC Location","url","https://goo.gl/maps/AyondpDQRZPNJxUi7");
95+
KeyTypeValue valueFourth = new KeyTypeValue("PHC Phone No","tel","+234 (0) 803 852 1693");
9696
udfExpected.add(valueOne);udfExpected.add(valueTwo);udfExpected.add(valueThird);udfExpected.add(valueFourth);
9797
assertEquals(familySurveyMessageRequest.getCampaign().getUdf(), udfExpected);
9898
assertEquals(familySurveyMessageRequest.getFamilyID(),"789");

0 commit comments

Comments
 (0)