Search in sources :

Example 11 with RDCF

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());
}
Also used : CaseDataDto(de.symeda.sormas.api.caze.CaseDataDto) MapContactDto(de.symeda.sormas.api.contact.MapContactDto) PersonDto(de.symeda.sormas.api.person.PersonDto) UserDto(de.symeda.sormas.api.user.UserDto) RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) TestDataCreator(de.symeda.sormas.backend.TestDataCreator) Date(java.util.Date) LocalDate(java.time.LocalDate) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Example 12 with RDCF

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());
}
Also used : RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) CaseDataDto(de.symeda.sormas.api.caze.CaseDataDto) CasePersonDto(de.symeda.sormas.api.caze.CasePersonDto) PersonDto(de.symeda.sormas.api.person.PersonDto) UserDto(de.symeda.sormas.api.user.UserDto) Date(java.util.Date) LocalDate(java.time.LocalDate) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Example 13 with RDCF

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()));
}
Also used : UserReferenceDto(de.symeda.sormas.api.user.UserReferenceDto) RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) CaseDataDto(de.symeda.sormas.api.caze.CaseDataDto) CaseCriteria(de.symeda.sormas.api.caze.CaseCriteria) CaseIndexDto(de.symeda.sormas.api.caze.CaseIndexDto) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Example 14 with RDCF

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()));
}
Also used : RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) CaseDataDto(de.symeda.sormas.api.caze.CaseDataDto) CaseCriteria(de.symeda.sormas.api.caze.CaseCriteria) CaseIndexDto(de.symeda.sormas.api.caze.CaseIndexDto) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Example 15 with RDCF

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());
}
Also used : UserReferenceDto(de.symeda.sormas.api.user.UserReferenceDto) EpiDataDto(de.symeda.sormas.api.epidata.EpiDataDto) RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) CaseDataDto(de.symeda.sormas.api.caze.CaseDataDto) CasePersonDto(de.symeda.sormas.api.caze.CasePersonDto) PersonDto(de.symeda.sormas.api.person.PersonDto) UserDto(de.symeda.sormas.api.user.UserDto) PersonReferenceDto(de.symeda.sormas.api.person.PersonReferenceDto) ActivityAsCaseDto(de.symeda.sormas.api.activityascase.ActivityAsCaseDto) ArrayList(java.util.ArrayList) Date(java.util.Date) LocalDate(java.time.LocalDate) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Aggregations

RDCF (de.symeda.sormas.backend.TestDataCreator.RDCF)75 AbstractBeanTest (de.symeda.sormas.backend.AbstractBeanTest)74 Test (org.junit.Test)74 UserDto (de.symeda.sormas.api.user.UserDto)53 Date (java.util.Date)43 CaseDataDto (de.symeda.sormas.api.caze.CaseDataDto)42 PersonDto (de.symeda.sormas.api.person.PersonDto)33 LocalDate (java.time.LocalDate)33 UserReferenceDto (de.symeda.sormas.api.user.UserReferenceDto)19 EventDto (de.symeda.sormas.api.event.EventDto)18 ContactDto (de.symeda.sormas.api.contact.ContactDto)17 CasePersonDto (de.symeda.sormas.api.caze.CasePersonDto)13 Matchers.isEmptyOrNullString (org.hamcrest.Matchers.isEmptyOrNullString)12 PersonReferenceDto (de.symeda.sormas.api.person.PersonReferenceDto)11 CaseCriteria (de.symeda.sormas.api.caze.CaseCriteria)10 RegionReferenceDto (de.symeda.sormas.api.infrastructure.region.RegionReferenceDto)10 TaskDto (de.symeda.sormas.api.task.TaskDto)9 CaseIndexDto (de.symeda.sormas.api.caze.CaseIndexDto)8 MapContactDto (de.symeda.sormas.api.contact.MapContactDto)8 SimilarContactDto (de.symeda.sormas.api.contact.SimilarContactDto)8