use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.
the class ContactFacadeEjbTest method testMapContactListCreation.
@Test
public void testMapContactListCreation() {
TestDataCreator.RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
UserDto user = useSurveillanceOfficerLogin(rdcf);
PersonDto cazePerson = creator.createPerson("Case", "Person");
CaseDataDto caze = creator.createCase(user.toReference(), cazePerson.toReference(), Disease.EVD, CaseClassification.PROBABLE, InvestigationStatus.PENDING, new Date(), rdcf);
PersonDto contactPerson = creator.createPerson("Contact", "Person", p -> {
p.getAddress().setLatitude(0.0);
p.getAddress().setLongitude(0.0);
});
creator.createContact(user.toReference(), user.toReference(), contactPerson.toReference(), caze, new Date(), new Date(), caze.getDisease(), rdcf);
Long count = getContactFacade().countContactsForMap(caze.getRegion(), caze.getDistrict(), caze.getDisease(), DateHelper.subtractDays(new Date(), 1), DateHelper.addDays(new Date(), 1));
List<MapContactDto> mapContactDtos = getContactFacade().getContactsForMap(caze.getRegion(), caze.getDistrict(), caze.getDisease(), DateHelper.subtractDays(new Date(), 1), DateHelper.addDays(new Date(), 1));
// List should have one entry
assertEquals((long) count, mapContactDtos.size());
assertEquals((long) 1, mapContactDtos.size());
}
use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testGetAllActiveCasesIncludeExtendedChangeDateFiltersLocationTest.
@Test
public void testGetAllActiveCasesIncludeExtendedChangeDateFiltersLocationTest() throws InterruptedException {
RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
UserDto user = useSurveillanceOfficerLogin(rdcf);
CaseDataDto caze = creator.createCase(user.toReference(), creator.createPerson("Case", "Person").toReference(), Disease.EVD, CaseClassification.PROBABLE, InvestigationStatus.PENDING, new Date(), rdcf);
Date date = new Date();
// the delay is needed in order to ensure the time difference between the date and the case dependent objects update
Thread.sleep(10L);
PersonDto cazePerson = getPersonFacade().getPersonByUuid(caze.getPerson().getUuid());
cazePerson.getAddress().setStreet("new Street");
cazePerson.getAddress().setHouseNumber("new Number");
cazePerson.getAddress().setAdditionalInformation("new Information");
getPersonFacade().savePerson(cazePerson);
assertEquals(0, getCaseFacade().getAllActiveCasesAfter(date).size());
assertEquals(1, getCaseFacade().getAllActiveCasesAfter(date, true).size());
}
use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testSearchCasesFreetext.
@Test
public void testSearchCasesFreetext() {
RDCF rdcf = creator.createRDCF();
final UserReferenceDto user = creator.createUser(rdcf, UserRole.SURVEILLANCE_OFFICER).toReference();
CaseDataDto caze = creator.createCase(user, creator.createPerson().toReference(), rdcf);
caze.setInternalToken("internalToken");
caze.setExternalToken("externalToken");
caze.setExternalID("externalID");
getCaseFacade().save(caze);
CaseDataDto secondCaze = creator.createCase(user, creator.createPerson().toReference(), rdcf);
secondCaze.setInternalToken("internalToken2");
getCaseFacade().save(secondCaze);
List<CaseIndexDto> indexList = getCaseFacade().getIndexList(new CaseCriteria(), 0, 100, Collections.emptyList());
// test several freetext variations
assertEquals(2, indexList.size());
CaseCriteria caseCriteria = new CaseCriteria();
caseCriteria.setCaseLike("internal");
List<CaseIndexDto> indexListFiltered = getCaseFacade().getIndexList(caseCriteria, 0, 100, Collections.emptyList());
assertEquals(2, indexListFiltered.size());
caseCriteria.setCaseLike("Token");
indexListFiltered = getCaseFacade().getIndexList(caseCriteria, 0, 100, Collections.emptyList());
assertEquals(2, indexListFiltered.size());
caseCriteria.setCaseLike("externalToken");
indexListFiltered = getCaseFacade().getIndexList(caseCriteria, 0, 100, Collections.emptyList());
assertEquals(1, indexListFiltered.size());
assertThat(indexListFiltered.get(0).getUuid(), is(caze.getUuid()));
caseCriteria.setCaseLike("externalID");
indexListFiltered = getCaseFacade().getIndexList(caseCriteria, 0, 100, Collections.emptyList());
assertEquals(1, indexListFiltered.size());
assertThat(indexListFiltered.get(0).getUuid(), is(caze.getUuid()));
caseCriteria.setCaseLike("unmatchableString");
indexListFiltered = getCaseFacade().getIndexList(caseCriteria, 0, 100, Collections.emptyList());
assertEquals(0, indexListFiltered.size());
caseCriteria.setCaseLike(caze.getUuid());
indexListFiltered = getCaseFacade().getIndexList(caseCriteria, 0, 100, Collections.emptyList());
assertEquals(1, indexListFiltered.size());
assertThat(indexListFiltered.get(0).getUuid(), is(caze.getUuid()));
}
use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testSearchCasesWithReducedQuarantine.
@Test
public void testSearchCasesWithReducedQuarantine() {
RDCF rdcf = creator.createRDCF();
CaseDataDto caze = creator.createCase(creator.createUser(rdcf, UserRole.SURVEILLANCE_OFFICER).toReference(), creator.createPerson().toReference(), rdcf);
caze.setQuarantineReduced(true);
getCaseFacade().save(caze);
List<CaseIndexDto> indexList = getCaseFacade().getIndexList(new CaseCriteria(), 0, 100, Collections.emptyList());
assertThat(indexList.get(0).getUuid(), is(caze.getUuid()));
CaseCriteria caseCriteria = new CaseCriteria();
caseCriteria.setWithReducedQuarantine(true);
List<CaseIndexDto> indexListFiltered = getCaseFacade().getIndexList(caseCriteria, 0, 100, Collections.emptyList());
assertThat(indexListFiltered.get(0).getUuid(), is(caze.getUuid()));
}
use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testCloneCaseActivityAsCaseIsCloned.
@Test
public void testCloneCaseActivityAsCaseIsCloned() {
useNationalUserLogin();
// 1. Create
// Create aCase
UserDto user = creator.createUser("", "", "", "", "");
UserReferenceDto userReferenceDto = new UserReferenceDto(user.getUuid());
PersonDto person = creator.createPerson("Max", "Smith");
person.setBirthWeight(2);
getPersonFacade().savePerson(person);
PersonReferenceDto personReferenceDto = new PersonReferenceDto(person.getUuid());
RDCF rdcf = creator.createRDCF();
CaseDataDto aCase = creator.createCase(userReferenceDto, personReferenceDto, Disease.CHOLERA, CaseClassification.SUSPECT, InvestigationStatus.PENDING, new Date(), rdcf, (c) -> {
c.setAdditionalDetails("Test other additional details");
c.setFollowUpComment("Test other followup comment");
});
aCase.setClinicianName("name");
aCase.getEpiData().setActivityAsCaseDetailsKnown(YesNoUnknown.YES);
final ArrayList<ActivityAsCaseDto> otherActivitiesAsCase = new ArrayList<>();
ActivityAsCaseDto activityAsCaseDto = new ActivityAsCaseDto();
activityAsCaseDto.setActivityAsCaseType(ActivityAsCaseType.GATHERING);
otherActivitiesAsCase.add(activityAsCaseDto);
aCase.getEpiData().setActivitiesAsCase(otherActivitiesAsCase);
CaseDataDto caseDataDto = getCaseFacade().save(aCase);
// 2. Clone
CaseDataDto clonedCase = getCaseFacade().cloneCase(caseDataDto);
final EpiDataDto epiData = clonedCase.getEpiData();
assertEquals(YesNoUnknown.YES, epiData.getActivityAsCaseDetailsKnown());
final List<ActivityAsCaseDto> activitiesAsCase = epiData.getActivitiesAsCase();
assertEquals(1, activitiesAsCase.size());
assertEquals(ActivityAsCaseType.GATHERING, activitiesAsCase.get(0).getActivityAsCaseType());
}
Aggregations