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

Commit cdb7ac5

Browse files
author
barnabartha
committed
SORMAS-Foundation#3253 - fix count of missing case contact information query
1 parent 5e4b43b commit cdb7ac5

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/caze/CaseFacadeEjb.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3128,7 +3128,7 @@ public long countCasesWithMissingContactInformation(List<String> caseUuids, Mess
31283128
final String messageTypeColumn = messageType == MessageType.EMAIL ? Person.EMAIL_ADDRESS : Person.PHONE;
31293129
return cb.and(
31303130
root.get(Case.UUID).in(caseUuids),
3131-
cb.and(cb.isNull(personJoin.get(messageTypeColumn)), cb.notEqual(personJoin.get(messageTypeColumn), StringUtils.EMPTY)));
3131+
cb.or(cb.isNull(personJoin.get(messageTypeColumn)), cb.equal(personJoin.get(messageTypeColumn), StringUtils.EMPTY)));
31323132
})));
31333133

31343134
return totalCount.get();

sormas-backend/src/test/java/de/symeda/sormas/backend/caze/CaseFacadeEjbTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.stream.Collectors;
3838

3939
import de.symeda.sormas.api.VisitOrigin;
40+
import de.symeda.sormas.api.messaging.MessageType;
4041
import org.junit.Assert;
4142
import org.junit.Rule;
4243
import org.junit.Test;
@@ -149,6 +150,30 @@ public void testDiseaseChangeUpdatesContacts() {
149150
assertEquals(null, contact.getFollowUpUntil());
150151
}
151152

153+
@Test
154+
public void testCountCasesWithMisingContactInformation() {
155+
RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
156+
RDCFEntities newRDCF = creator.createRDCFEntities("New Region", "New District", "New Community", "New Facility");
157+
UserDto user = useSurveillanceOfficerLogin(rdcf);
158+
159+
PersonDto cazePerson = creator.createPerson("Case", "Person");
160+
CaseDataDto caze = creator.createCase(
161+
user.toReference(),
162+
cazePerson.toReference(),
163+
Disease.EVD,
164+
CaseClassification.PROBABLE,
165+
InvestigationStatus.PENDING,
166+
new Date(),
167+
rdcf);
168+
169+
Assert.assertEquals(1, getCaseFacade().countCasesWithMissingContactInformation(Arrays.asList(caze.getUuid()), MessageType.SMS));
170+
171+
cazePerson.setPhone("40742140797");
172+
getPersonFacade().savePerson(cazePerson);
173+
174+
Assert.assertEquals(0, getCaseFacade().countCasesWithMissingContactInformation(Arrays.asList(caze.getUuid()), MessageType.SMS));
175+
}
176+
152177
@Test
153178
public void testMovingCaseUpdatesTaskAssigneeAndCreatesPreviousHospitalization() {
154179

0 commit comments

Comments
 (0)