use of de.symeda.sormas.backend.TestDataCreator.RDCFEntities in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testGetAllActiveCasesIncludeExtendedChangeDateFiltersPathogenTest.
@Test
public void testGetAllActiveCasesIncludeExtendedChangeDateFiltersPathogenTest() throws InterruptedException {
RDCFEntities rdcf = creator.createRDCFEntities("Region", "District", "Community", "Facility");
UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Surv", "Sup", UserRole.SURVEILLANCE_SUPERVISOR);
PersonDto cazePerson = creator.createPerson("Case", "Person");
CaseDataDto caze = creator.createCase(user.toReference(), cazePerson.toReference(), Disease.EVD, CaseClassification.PROBABLE, InvestigationStatus.PENDING, new Date(), rdcf);
SampleDto sample = creator.createSample(caze.toReference(), user.toReference(), rdcf.facility);
PathogenTestDto pathogenTestDto = creator.createPathogenTest(sample.toReference(), caze);
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);
pathogenTestDto.setTestResultText("test result changed");
getPathogenTestFacade().savePathogenTest(pathogenTestDto);
assertEquals(0, getCaseFacade().getAllActiveCasesAfter(date).size());
assertEquals(1, getCaseFacade().getAllActiveCasesAfter(date, true).size());
}
use of de.symeda.sormas.backend.TestDataCreator.RDCFEntities in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testDoesEpidNumberExist.
@Test
public void testDoesEpidNumberExist() {
RDCFEntities rdcf = creator.createRDCFEntities();
UserReferenceDto user = creator.createUser(rdcf).toReference();
PersonReferenceDto cazePerson = creator.createPerson("Horst", "Meyer").toReference();
CaseDataDto caze = creator.createCase(user, cazePerson, Disease.CHOLERA, CaseClassification.NOT_CLASSIFIED, InvestigationStatus.PENDING, new Date(), rdcf);
// 1. Same case
assertFalse(getCaseFacade().doesEpidNumberExist(caze.getEpidNumber(), caze.getUuid(), caze.getDisease()));
// 2. Same disease and epid number
assertTrue(getCaseFacade().doesEpidNumberExist(caze.getEpidNumber(), "abc", caze.getDisease()));
// 3. Same disease, different epid number
assertFalse(getCaseFacade().doesEpidNumberExist("123", "abc", caze.getDisease()));
// 4. Different disease and same epid number
assertFalse(getCaseFacade().doesEpidNumberExist(caze.getEpidNumber(), "abc", Disease.ANTHRAX));
// 5. Different disease and different epid number
assertFalse(getCaseFacade().doesEpidNumberExist("def", "abc", Disease.ANTHRAX));
}
use of de.symeda.sormas.backend.TestDataCreator.RDCFEntities in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testGetDuplicateCasesOfSameSexAndDifferentBirthDateIsEmpty.
@Test
public void testGetDuplicateCasesOfSameSexAndDifferentBirthDateIsEmpty() {
final Date today = new Date();
RDCFEntities rdcf = creator.createRDCFEntities("Region", "District", "Community", "Facility");
UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Surv", "Sup", UserRole.SURVEILLANCE_SUPERVISOR);
PersonDto cazePerson = creator.createPerson("Case", "Person", Sex.MALE, 1980, 1, 1);
creator.createCase(user.toReference(), cazePerson.toReference(), Disease.EVD, CaseClassification.PROBABLE, InvestigationStatus.PENDING, today, rdcf);
PersonDto cazePerson2 = creator.createPerson("Case", "Person", Sex.MALE, 1980, 1, 2);
creator.createCase(user.toReference(), cazePerson2.toReference(), Disease.EVD, CaseClassification.PROBABLE, InvestigationStatus.PENDING, DateUtils.addMinutes(today, -3), rdcf);
Assert.assertEquals(0, getCaseFacade().getCasesForDuplicateMerging(new CaseCriteria().creationDateFrom(today).creationDateTo(today), true).size());
}
use of de.symeda.sormas.backend.TestDataCreator.RDCFEntities in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testGenerateEpidNumber.
@Test
public void testGenerateEpidNumber() throws ExternalSurveillanceToolException {
RDCFEntities rdcf = creator.createRDCFEntities("Region", "District", "Community", "Facility");
UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Surv", "Sup", UserRole.SURVEILLANCE_SUPERVISOR, UserRole.ADMIN);
PersonDto cazePerson = creator.createPerson("Case", "Person");
CaseDataDto caze = creator.createCase(user.toReference(), cazePerson.toReference(), rdcf);
Calendar calendar = Calendar.getInstance();
String year = String.valueOf(calendar.get(Calendar.YEAR)).substring(2);
assertEquals("COU-REG-DIS-" + year + "-001", caze.getEpidNumber());
CaseDataDto secondCaze = creator.createCase(user.toReference(), cazePerson.toReference(), rdcf);
assertEquals("COU-REG-DIS-" + year + "-002", secondCaze.getEpidNumber());
secondCaze.setEpidNumber("COU-REG-DIS-" + year + "-0004");
getCaseFacade().save(secondCaze);
CaseDataDto thirdCaze = creator.createCase(user.toReference(), cazePerson.toReference(), rdcf);
assertEquals("COU-REG-DIS-" + year + "-005", thirdCaze.getEpidNumber());
thirdCaze.setEpidNumber("COU-REG-DIS-" + year + "-3");
getCaseFacade().save(thirdCaze);
CaseDataDto fourthCaze = creator.createCase(user.toReference(), cazePerson.toReference(), rdcf);
assertEquals("COU-REG-DIS-" + year + "-005", fourthCaze.getEpidNumber());
fourthCaze.setEpidNumber("COU-REG-DIS-" + year + "-AAA");
getCaseFacade().save(fourthCaze);
fourthCaze = getCaseFacade().getCaseDataByUuid(fourthCaze.getUuid());
assertEquals("COU-REG-DIS-" + year + "-005", fourthCaze.getEpidNumber());
// Make sure that deleted cases are ignored when searching for the highest existing epid nummber
getCaseFacade().deleteCase(fourthCaze.getUuid());
CaseDataDto fifthCaze = creator.createCase(user.toReference(), cazePerson.toReference(), rdcf);
assertEquals("COU-REG-DIS-" + year + "-005", fifthCaze.getEpidNumber());
}
use of de.symeda.sormas.backend.TestDataCreator.RDCFEntities in project SORMAS-Project by hzi-braunschweig.
the class CaseFacadeEjbTest method testGetDuplicateCasesOfSexUnknownAndSameBirthDateMatches.
@Test
public void testGetDuplicateCasesOfSexUnknownAndSameBirthDateMatches() {
final Date today = new Date();
RDCFEntities rdcf = creator.createRDCFEntities("Region", "District", "Community", "Facility");
UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Surv", "Sup", UserRole.SURVEILLANCE_SUPERVISOR);
PersonDto cazePerson = creator.createPerson("Case", "Person", Sex.MALE, 1980, 1, 1);
creator.createCase(user.toReference(), cazePerson.toReference(), Disease.EVD, CaseClassification.PROBABLE, InvestigationStatus.PENDING, today, rdcf);
PersonDto cazePerson2 = creator.createPerson("Case", "Person", Sex.UNKNOWN, 1980, 1, 1);
creator.createCase(user.toReference(), cazePerson2.toReference(), Disease.EVD, CaseClassification.PROBABLE, InvestigationStatus.PENDING, DateUtils.addMinutes(today, -3), rdcf);
Assert.assertEquals(1, getCaseFacade().getCasesForDuplicateMerging(new CaseCriteria().creationDateFrom(today).creationDateTo(today), true).size());
}
Aggregations