Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit d1481ae

Browse files
MateStrysewskeStefan Kock
authored andcommitted
SORMAS-Foundation#1993 - Fixed tests
1 parent b69c1ba commit d1481ae

5 files changed

Lines changed: 144 additions & 106 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/campaign/data/CampaignFormValue.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package de.symeda.sormas.api.campaign.data;
1717

1818
import java.io.Serializable;
19+
import java.util.Objects;
1920

2021
public class CampaignFormValue implements Serializable {
2122

@@ -48,4 +49,19 @@ public Object getValue() {
4849
public void setValue(Object value) {
4950
this.value = value;
5051
}
52+
53+
@Override
54+
public boolean equals(Object o) {
55+
if (this == o)
56+
return true;
57+
if (o == null || getClass() != o.getClass())
58+
return false;
59+
CampaignFormValue that = (CampaignFormValue) o;
60+
return Objects.equals(id, that.id);
61+
}
62+
63+
@Override
64+
public int hashCode() {
65+
return Objects.hash(id);
66+
}
5167
}

sormas-backend/src/main/java/de/symeda/sormas/backend/campaign/data/CampaignFormData.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ public void setFormValuesList(List<CampaignFormValue> formValuesList) {
106106

107107
if (this.formValuesList == null) {
108108
formValues = null;
109+
return;
109110
}
110111

111112
try {

sormas-backend/src/main/java/de/symeda/sormas/backend/campaign/form/CampaignForm.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ public void setCampaignFormElementsList(List<CampaignFormElement> campaignFormEl
8484

8585
if (this.campaignFormElementsList == null) {
8686
campaignFormElements = null;
87+
return;
8788
}
8889

8990
try {
@@ -128,6 +129,7 @@ public void setCampaignFormTranslationsList(List<CampaignFormTranslations> campa
128129

129130
if (this.campaignFormTranslationsList == null) {
130131
campaignFormTranslations = null;
132+
return;
131133
}
132134

133135
try {

sormas-backend/src/test/java/de/symeda/sormas/backend/TestDataCreator.java

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,13 @@
1717
*******************************************************************************/
1818
package de.symeda.sormas.backend;
1919

20-
import java.io.IOException;
21-
import java.util.ArrayList;
22-
import java.util.Arrays;
23-
import java.util.Date;
24-
import java.util.HashSet;
25-
import java.util.List;
26-
import java.util.function.Consumer;
27-
import java.util.function.Function;
28-
20+
import com.fasterxml.jackson.databind.ObjectMapper;
2921
import de.symeda.sormas.api.Disease;
3022
import de.symeda.sormas.api.ReferenceDto;
3123
import de.symeda.sormas.api.campaign.CampaignDto;
3224
import de.symeda.sormas.api.campaign.CampaignReferenceDto;
3325
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
26+
import de.symeda.sormas.api.campaign.data.CampaignFormValue;
3427
import de.symeda.sormas.api.campaign.form.CampaignFormDto;
3528
import de.symeda.sormas.api.campaign.form.CampaignFormReferenceDto;
3629
import de.symeda.sormas.api.caze.CaseClassification;
@@ -91,6 +84,15 @@
9184
import de.symeda.sormas.backend.region.District;
9285
import de.symeda.sormas.backend.region.Region;
9386

87+
import java.io.IOException;
88+
import java.util.ArrayList;
89+
import java.util.Arrays;
90+
import java.util.Date;
91+
import java.util.HashSet;
92+
import java.util.List;
93+
import java.util.function.Consumer;
94+
import java.util.function.Function;
95+
9496
public class TestDataCreator {
9597

9698
private final AbstractBeanTest beanTest;
@@ -697,20 +699,20 @@ public CampaignFormDto createCampaignForm(CampaignDto campaign) throws IOExcepti
697699
CampaignFormDto campaignForm;
698700

699701
String schema =
700-
"[{\"type\": \"string\",\"id\": \"teamNumber\",\"caption\": \"Team number\",\"styles\": [\"first\"]},{\"type\": \"string\",\"id\": "
701-
+ "\"namesOfTeamMembers\",\"caption\": \"Names of team members\",\"styles\": [\"col-8\"]},{\"type\": \"string\",\"id\": "
702-
+ "\"monitorName\",\"caption\": \"Name of monitor\",\"styles\": [\"first\"]},{\"type\": \"string\",\"id\": \"agencyName\",\"caption\": "
702+
"[{\"type\": \"text\",\"id\": \"teamNumber\",\"caption\": \"Team number\",\"styles\": [\"first\"]},{\"type\": \"text\",\"id\": "
703+
+ "\"namesOfTeamMembers\",\"caption\": \"Names of team members\",\"styles\": [\"col-8\"]},{\"type\": \"text\",\"id\": "
704+
+ "\"monitorName\",\"caption\": \"Name of monitor\",\"styles\": [\"first\"]},{\"type\": \"text\",\"id\": \"agencyName\",\"caption\": "
703705
+ "\"Agency\"},{\"type\": \"section\",\"id\": \"questionsSection\"},{\"type\": \"label\",\"id\": \"questionsLabel\",\"caption\": \"<h2>Questions</h2>\"}"
704706
+ ",{\"type\": \"yes-no\",\"id\": \"oneMemberResident\",\"caption\": \"1) At least one team member is resident of same area (villages)?\"},{\"type\": "
705707
+ "\"yes-no\",\"id\": \"vaccinatorsTrained\",\"caption\": \"2) Both vaccinators trained before this campaign?\"},{\"type\": \"section\","
706708
+ " \"id\": \"questionsSection2\"},{\"type\": \"label\",\"id\": \"q8To12Label\",\"caption\": \"Q 8-12: Based on observation of team only.\"},"
707709
+ "{\"type\": \"yes-no\",\"id\": \"askingAboutMonthOlds\",\"caption\": \"8) Is team specially asking about 0-11 months children?\"},"
708710
+ "{\"type\": \"section\", \"id\": \"questionsSection3\"},{\"type\": \"yes-no\",\"id\": \"atLeastOneMemberChw\","
709-
+ "\"caption\": \"13) Is at least one member of the team CHW?\"},{\"type\": \"integer\",\"id\": "
711+
+ "\"caption\": \"13) Is at least one member of the team CHW?\"},{\"type\": \"number\",\"id\": "
710712
+ "\"numberOfChw\",\"caption\": \"No. of CHW\",\"styles\": [\"row\"],\"dependingOn\": \"atLeastOneMemberChw\",\"dependingOnValues\": [\"YES\"]},"
711713
+ "{\"type\": \"yes-no\",\"id\": \"anyMemberFemale\",\"caption\": \"14) Is any member of the team female?\"},{\"type\": \"yes-no\","
712714
+ "\"id\": \"accompaniedBySocialMobilizer\",\"caption\": \"15) Does social mobilizer accompany the vaccination team in the field?\"},"
713-
+ "{\"type\": \"string\",\"id\": \"comments\",\"caption\": \"Comments\",\"styles\": [\"col-12\"]}]";
715+
+ "{\"type\": \"text\",\"id\": \"comments\",\"caption\": \"Comments\",\"styles\": [\"col-12\"]}]";
714716
String translations =
715717
"[{\"languageCode\": \"de-DE\", \"translations\": [{\"elementId\": \"teamNumber\", \"caption\": \"Teamnummer\"}, {\"elementId\": \"namesOfTeamMembers\","
716718
+ " \"caption\": \"Namen der Teammitglieder\"}]}, {\"languageCode\": \"fr-FR\", \"translations\": [{\"elementId\": \"teamNumber\", "
@@ -723,15 +725,29 @@ public CampaignFormDto createCampaignForm(CampaignDto campaign) throws IOExcepti
723725
return campaignForm;
724726
}
725727

728+
public String getCampaignFormData() {
729+
return "[{\"id\": \"teamNumber\",\"value\": \"12\"},{\"id\": \"namesOfTeamMembers\", \"value\": \"Waldemar Stricker\"},"
730+
+ "{\"id\": \"monitorName\", \"value\": \"Josef Saks\"},{\"id\": \"agencyName\",\"value\": \"HZI Institut\"},"
731+
+ "{\"id\": \"oneMemberResident\", \"value\": \"yes\"},{\"id\": \"vaccinatorsTrained\",\"value\": \"no\"},"
732+
+ "{\"id\": \"askingAboutMonthOlds\",\"value\": \"yes\"},{\"id\": \"atLeastOneMemberChw\",\"value\": \"yes\"},"
733+
+ "{\"id\": \"numberOfChw\",\"value\": \"7\"},{\"id\": \"anyMemberFemale\",\"value\": \"yes\"},{\"id\": \"accompaniedBySocialMobilizer\",\"value\": \"no\"},"
734+
+ "{\"id\": \"comments\",\"value\": \"other comments\"}]";
735+
}
736+
726737
public CampaignFormDataDto buildCampaignFormDataDto(CampaignDto campaign, CampaignFormDto campaignForm, RDCF rdcf, String formData) {
727738
CampaignReferenceDto campaignReferenceDto = new CampaignReferenceDto(campaign.getUuid());
728739
CampaignFormReferenceDto campaignFormReferenceDto = new CampaignFormReferenceDto(campaignForm.getUuid());
729740

730741
CampaignFormDataDto campaignFormData =
731742
CampaignFormDataDto.build(campaignReferenceDto, campaignFormReferenceDto, rdcf.region, rdcf.district, rdcf.community);
732743

733-
// campaignFormData.setFormValues(formData);
734-
return campaignFormData;
744+
try {
745+
ObjectMapper mapper = new ObjectMapper();
746+
campaignFormData.setFormValues(Arrays.asList(mapper.readValue(formData, CampaignFormValue[].class)));
747+
return campaignFormData;
748+
} catch (IOException e) {
749+
throw new RuntimeException(e);
750+
}
735751
}
736752

737753
public CampaignFormDataDto createCampaignFormData(CampaignDto campaign, CampaignFormDto campaignForm, RDCF rdcf, String formData) {

sormas-backend/src/test/java/de/symeda/sormas/backend/campaign/data/CampaignFormDataFacadeEjbTest.java

Lines changed: 93 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -20,98 +20,101 @@
2020

2121
package de.symeda.sormas.backend.campaign.data;
2222

23+
import com.fasterxml.jackson.databind.ObjectMapper;
24+
import de.symeda.sormas.api.campaign.CampaignDto;
25+
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
26+
import de.symeda.sormas.api.campaign.data.CampaignFormValue;
27+
import de.symeda.sormas.api.campaign.form.CampaignFormDto;
28+
import de.symeda.sormas.api.user.UserDto;
29+
import de.symeda.sormas.api.user.UserRole;
2330
import de.symeda.sormas.backend.AbstractBeanTest;
31+
import de.symeda.sormas.backend.TestDataCreator;
32+
import org.junit.Test;
33+
34+
import java.util.Arrays;
35+
36+
import static org.junit.Assert.assertEquals;
37+
import static org.junit.Assert.assertNotNull;
38+
import static org.junit.Assert.assertNull;
2439

2540
public class CampaignFormDataFacadeEjbTest extends AbstractBeanTest {
2641

27-
// @Test
28-
// public void testSaveCampaignFormData() throws Exception {
29-
//
30-
// final TestDataCreator.RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
31-
// final UserDto user = creator.createUser(rdcf, UserRole.SURVEILLANCE_SUPERVISOR);
32-
//
33-
// final CampaignDto campaign = creator.createCampaign(user);
34-
//
35-
// final CampaignFormDto campaignForm = creator.createCampaignForm(campaign);
36-
//
37-
// String formData = "[{\n" + "\"teamNumber\":\"12\",\n" + "\"namesOfTeamMembers\":\"Waldemar Stricker\",\n"
38-
// + "\"monitorName\":\"Josef Saks\",\n" + "\"agencyName\":\"HZI Institut\",\n" + "\"questionsSection\":\"questionsSection1\",\n"
39-
// + "\"questionsLabel\":\"LabelQuestionSection1\",\n" + "\"oneMemberResident\":\"yes\",\n" + "\"vaccinatorsTrained\":\"no\",\n"
40-
// + "\"questionsSection2\":\"teamObservation\",\n" + "\"q8To12Label\":\"teamObservationLabel\",\n" + "\"askingAboutMonthOlds\":\"yes\",\n"
41-
// + "\"questionsSection3\":\"finalQuestionsSection\",\n" + "\"atLeastOneMemberChw\":\"yes\",\n" + "\"numberOfChw\":\"7\",\n"
42-
// + "\"anyMemberFemale\":\"yes\",\n" + "\"accompaniedBySocialMobilizer\":\"no\",\n" + "\"comments\":\"other comments\"\n" + "}]";
43-
//
44-
// CampaignFormDataDto newCampaignFormDataDto = creator.buildCampaignFormDataDto(campaign, campaignForm, rdcf, formData);
45-
// newCampaignFormDataDto = getCampaignFormDataFacade().saveCampaignFormData(newCampaignFormDataDto);
46-
//
47-
// assertNotNull(newCampaignFormDataDto);
48-
// assertEquals(formData, newCampaignFormDataDto.getFormValues());
49-
// assertEquals(rdcf.region.getUuid(), newCampaignFormDataDto.getRegion().getUuid());
50-
// assertEquals(rdcf.district.getUuid(), newCampaignFormDataDto.getDistrict().getUuid());
51-
// assertEquals(rdcf.community.getUuid(), newCampaignFormDataDto.getCommunity().getUuid());
52-
//
53-
// String newFormData = "[{\"teamNumber\":\"12\",\"namesOfTeamMembers\": \"Ekkehard Rosin\","
54-
// + " \"monitorName\": \"Ralf Windisch\", \"agencyName\": \"Sormas Institut\"}]";
55-
//
56-
//// newCampaignFormDataDto.setFormValues(newFormData);
57-
//
58-
// CampaignFormDataDto updatedCampaignFormData = getCampaignFormDataFacade().saveCampaignFormData(newCampaignFormDataDto);
59-
//
60-
// assertNotNull(updatedCampaignFormData);
61-
// assertEquals(newFormData, updatedCampaignFormData.getFormValues());
62-
// }
63-
//
64-
// @Test
65-
// public void testGetCampaignFormDataByUuid() throws Exception {
66-
// final TestDataCreator.RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
67-
// final UserDto user = creator.createUser(rdcf, UserRole.SURVEILLANCE_SUPERVISOR);
68-
//
69-
// final CampaignDto campaign = creator.createCampaign(user);
70-
//
71-
// final CampaignFormDto campaignForm = creator.createCampaignForm(campaign);
72-
//
73-
// String formData = "[{\n" + "\"teamNumber\":\"12\",\n" + "\"namesOfTeamMembers\":\"Waldemar Stricker\",\n"
74-
// + "\"monitorName\":\"Josef Saks\",\n" + "\"agencyName\":\"HZI Institut\",\n" + "\"questionsSection\":\"questionsSection1\",\n"
75-
// + "\"questionsLabel\":\"LabelQuestionSection1\",\n" + "\"oneMemberResident\":\"yes\",\n" + "\"vaccinatorsTrained\":\"no\",\n"
76-
// + "\"questionsSection2\":\"teamObservation\",\n" + "\"q8To12Label\":\"teamObservationLabel\",\n" + "\"askingAboutMonthOlds\":\"yes\",\n"
77-
// + "\"questionsSection3\":\"finalQuestionsSection\",\n" + "\"atLeastOneMemberChw\":\"yes\",\n" + "\"numberOfChw\":\"7\",\n"
78-
// + "\"anyMemberFemale\":\"yes\",\n" + "\"accompaniedBySocialMobilizer\":\"no\",\n" + "\"comments\":\"other comments\"\n" + "}]";
79-
//
80-
// CampaignFormDataDto newCampaignFormDataDto = creator.buildCampaignFormDataDto(campaign, campaignForm, rdcf, formData);
81-
// newCampaignFormDataDto = getCampaignFormDataFacade().saveCampaignFormData(newCampaignFormDataDto);
82-
//
83-
// CampaignFormDataDto retrievedCampaignFormDataDto = getCampaignFormDataFacade().getCampaignFormDataByUuid(newCampaignFormDataDto.getUuid());
84-
//
85-
// assertNotNull(retrievedCampaignFormDataDto);
86-
// assertEquals(formData, retrievedCampaignFormDataDto.getFormValues());
87-
// }
88-
//
89-
// @Test
90-
// public void testDeleteCampaignFormData() throws Exception {
91-
// final TestDataCreator.RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
92-
// final UserDto user = creator.createUser(rdcf, UserRole.SURVEILLANCE_SUPERVISOR);
93-
//
94-
// final CampaignDto campaign = creator.createCampaign(user);
95-
//
96-
// final CampaignFormDto campaignForm = creator.createCampaignForm(campaign);
97-
//
98-
// String formData = "[{\n" + "\"teamNumber\":\"12\",\n" + "\"namesOfTeamMembers\":\"Waldemar Stricker\",\n"
99-
// + "\"monitorName\":\"Josef Saks\",\n" + "\"agencyName\":\"HZI Institut\",\n" + "\"questionsSection\":\"questionsSection1\",\n"
100-
// + "\"questionsLabel\":\"LabelQuestionSection1\",\n" + "\"oneMemberResident\":\"yes\",\n" + "\"vaccinatorsTrained\":\"no\",\n"
101-
// + "\"questionsSection2\":\"teamObservation\",\n" + "\"q8To12Label\":\"teamObservationLabel\",\n" + "\"askingAboutMonthOlds\":\"yes\",\n"
102-
// + "\"questionsSection3\":\"finalQuestionsSection\",\n" + "\"atLeastOneMemberChw\":\"yes\",\n" + "\"numberOfChw\":\"7\",\n"
103-
// + "\"anyMemberFemale\":\"yes\",\n" + "\"accompaniedBySocialMobilizer\":\"no\",\n" + "\"comments\":\"other comments\"\n" + "}]";
104-
//
105-
// CampaignFormDataDto newCampaignFormDataDto = creator.buildCampaignFormDataDto(campaign, campaignForm, rdcf, formData);
106-
// newCampaignFormDataDto = getCampaignFormDataFacade().saveCampaignFormData(newCampaignFormDataDto);
107-
//
108-
// assertNotNull(newCampaignFormDataDto);
109-
// assertEquals(formData, newCampaignFormDataDto.getFormValues());
110-
//
111-
// getCampaignFormDataFacade().deleteCampaignFormData(newCampaignFormDataDto.getUuid());
112-
//
113-
// CampaignFormDataDto deletedCampaignFormDataDto = getCampaignFormDataFacade().getCampaignFormDataByUuid(newCampaignFormDataDto.getUuid());
114-
//
115-
// assertEquals(null, deletedCampaignFormDataDto);
116-
// }
42+
@Test
43+
public void testSaveCampaignFormData() throws Exception {
44+
45+
final TestDataCreator.RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
46+
final UserDto user = creator.createUser(rdcf, UserRole.SURVEILLANCE_SUPERVISOR);
47+
ObjectMapper mapper = new ObjectMapper();
48+
49+
final CampaignDto campaign = creator.createCampaign(user);
50+
51+
final CampaignFormDto campaignForm = creator.createCampaignForm(campaign);
52+
53+
String formData = creator.getCampaignFormData();
54+
55+
CampaignFormDataDto newCampaignFormDataDto = creator.buildCampaignFormDataDto(campaign, campaignForm, rdcf, formData);
56+
newCampaignFormDataDto = getCampaignFormDataFacade().saveCampaignFormData(newCampaignFormDataDto);
57+
58+
assertNotNull(newCampaignFormDataDto);
59+
assertEquals(Arrays.asList(mapper.readValue(formData, CampaignFormValue[].class)), newCampaignFormDataDto.getFormValues());
60+
assertEquals(rdcf.region.getUuid(), newCampaignFormDataDto.getRegion().getUuid());
61+
assertEquals(rdcf.district.getUuid(), newCampaignFormDataDto.getDistrict().getUuid());
62+
assertEquals(rdcf.community.getUuid(), newCampaignFormDataDto.getCommunity().getUuid());
63+
64+
String newFormData = "[{\"id\":\"teamNumber\",\"value\":\"12\"},{\"id\":\"namesOfTeamMembers\",\"value\":\"Ekkehard Rosin\"},"
65+
+ "{\"id\":\"monitorName\",\"value\":\"Ralf Windisch\"},{\"id\":\"agencyName\",\"value\":\"Sormas Institut\"}]";
66+
67+
newCampaignFormDataDto.setFormValues(Arrays.asList(mapper.readValue(newFormData, CampaignFormValue[].class)));
68+
69+
CampaignFormDataDto updatedCampaignFormData = getCampaignFormDataFacade().saveCampaignFormData(newCampaignFormDataDto);
70+
71+
assertNotNull(updatedCampaignFormData);
72+
assertEquals(Arrays.asList(mapper.readValue(newFormData, CampaignFormValue[].class)), updatedCampaignFormData.getFormValues());
73+
}
74+
75+
@Test
76+
public void testGetCampaignFormDataByUuid() throws Exception {
77+
final TestDataCreator.RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
78+
final UserDto user = creator.createUser(rdcf, UserRole.SURVEILLANCE_SUPERVISOR);
79+
ObjectMapper mapper = new ObjectMapper();
80+
81+
final CampaignDto campaign = creator.createCampaign(user);
82+
83+
final CampaignFormDto campaignForm = creator.createCampaignForm(campaign);
84+
85+
String formData = creator.getCampaignFormData();
86+
87+
CampaignFormDataDto newCampaignFormDataDto = creator.buildCampaignFormDataDto(campaign, campaignForm, rdcf, formData);
88+
newCampaignFormDataDto = getCampaignFormDataFacade().saveCampaignFormData(newCampaignFormDataDto);
89+
90+
CampaignFormDataDto retrievedCampaignFormDataDto = getCampaignFormDataFacade().getCampaignFormDataByUuid(newCampaignFormDataDto.getUuid());
91+
92+
assertNotNull(retrievedCampaignFormDataDto);
93+
assertEquals(Arrays.asList(mapper.readValue(formData, CampaignFormValue[].class)), retrievedCampaignFormDataDto.getFormValues());
94+
}
95+
96+
@Test
97+
public void testDeleteCampaignFormData() throws Exception {
98+
final TestDataCreator.RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
99+
final UserDto user = creator.createUser(rdcf, UserRole.SURVEILLANCE_SUPERVISOR);
100+
ObjectMapper mapper = new ObjectMapper();
101+
102+
final CampaignDto campaign = creator.createCampaign(user);
103+
104+
final CampaignFormDto campaignForm = creator.createCampaignForm(campaign);
105+
106+
String formData = creator.getCampaignFormData();
107+
108+
CampaignFormDataDto newCampaignFormDataDto = creator.buildCampaignFormDataDto(campaign, campaignForm, rdcf, formData);
109+
newCampaignFormDataDto = getCampaignFormDataFacade().saveCampaignFormData(newCampaignFormDataDto);
110+
111+
assertNotNull(newCampaignFormDataDto);
112+
assertEquals(Arrays.asList(mapper.readValue(formData, CampaignFormValue[].class)), newCampaignFormDataDto.getFormValues());
113+
114+
getCampaignFormDataFacade().deleteCampaignFormData(newCampaignFormDataDto.getUuid());
115+
116+
CampaignFormDataDto deletedCampaignFormDataDto = getCampaignFormDataFacade().getCampaignFormDataByUuid(newCampaignFormDataDto.getUuid());
117+
118+
assertNull(deletedCampaignFormDataDto);
119+
}
117120
}

0 commit comments

Comments
 (0)