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

Commit 875c528

Browse files
author
Jonas Cirotzki
committed
1 parent fe22d5e commit 875c528

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

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

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
import org.hamcrest.MatcherAssert;
4444
import org.hibernate.internal.SessionImpl;
4545
import org.hibernate.query.spi.QueryImplementor;
46+
import org.hamcrest.MatcherAssert;
47+
import org.joda.time.DateTime;
4648
import org.junit.Assert;
4749
import org.junit.Rule;
4850
import org.junit.Test;
@@ -1552,6 +1554,56 @@ public void testCreateCaseWithoutUuid() {
15521554
MatcherAssert.assertThat(savedCaze.getEpiData().getExposures().get(0).getUuid(), not(isEmptyOrNullString()));
15531555
}
15541556

1557+
@Test
1558+
public void testGetDuplicatesWithReportDateThreshold() {
1559+
RDCF rdcf = creator.createRDCF();
1560+
1561+
//case and person matching for asserts
1562+
PersonDto person = creator.createPerson("Fname", "Lname", (p) -> {
1563+
p.setBirthdateDD(12);
1564+
p.setBirthdateMM(3);
1565+
p.setBirthdateYYYY(1968);
1566+
});
1567+
1568+
Date now = new Date();
1569+
1570+
CaseDataDto caze = creator.createCase(creator.createUser(rdcf, UserRole.SURVEILLANCE_OFFICER).toReference(), rdcf, (c) -> {
1571+
c.setPerson(person.toReference());
1572+
c.setExternalID("test-ext-id");
1573+
c.setExternalToken("test-ext-token");
1574+
c.setDisease(Disease.CORONAVIRUS);
1575+
c.setDistrict(rdcf.district);
1576+
c.setReportDate(now);
1577+
});
1578+
1579+
// second case matching the first one except for the reporting date
1580+
PersonDto person2 = creator.createPerson("Fname", "Lname", (p) -> {
1581+
p.setBirthdateDD(12);
1582+
p.setBirthdateMM(3);
1583+
p.setBirthdateYYYY(1968);
1584+
});
1585+
creator.createCase(creator.createUser(rdcf, UserRole.SURVEILLANCE_OFFICER).toReference(), rdcf, (c) -> {
1586+
c.setPerson(person2.toReference());
1587+
c.setDisease(Disease.CORONAVIRUS);
1588+
c.setReportDate(new DateTime(now).minusDays(1).toDate());
1589+
});
1590+
1591+
1592+
CasePersonDto casePerson = new CasePersonDto();
1593+
PersonDto duplicatePerson = PersonDto.build();
1594+
CaseDataDto duplicateCaze = CaseDataDto.build(duplicatePerson.toReference(), Disease.CORONAVIRUS);
1595+
duplicateCaze.setDistrict(rdcf.district);
1596+
duplicateCaze.setReportDate(new Date());
1597+
1598+
casePerson.setCaze(duplicateCaze);
1599+
casePerson.setPerson(duplicatePerson);
1600+
1601+
List<CasePersonDto> duplicates = getCaseFacade().getDuplicates(casePerson, 2);
1602+
MatcherAssert.assertThat(duplicates, hasSize(2));
1603+
}
1604+
1605+
1606+
15551607
// @Test
15561608
// public void testGetSimilarCases() {
15571609
// RDCFEntities rdcf = creator.createRDCFEntities("Region", "District", "Community", "Facility");

0 commit comments

Comments
 (0)