/** * @see EncounterService#getEncountersByVisit(Visit, boolean) */ @Test public void getEncountersByVisit_shouldGetActiveEncountersByVisit() { List<Encounter> encounters = Context.getEncounterService().getEncountersByVisit(new Visit(1), false); assertEquals(1, encounters.size()); }
/** * @see EncounterService#getEncountersByVisit(Visit, boolean) */ @Test public void getEncountersByVisit_shouldIncludeVoidedEncountersWhenIncludeVoidedIsTrue() { List<Encounter> encounters = Context.getEncounterService().getEncountersByVisit(new Visit(1), true); assertEquals(2, encounters.size()); }
@Test public void validate_shouldPassValidationIfVisitDateAfterBirthDate() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(1974, 4, 8); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(false); visit.setPatient(patient); calendar.set(1974, 4, 9); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, not(hasFieldErrors("startDatetime"))); }
@Test public void validate_shouldPassValidationIfVisitDateOnEstimatedBirthDatesMinimumOneYearGracePeriod() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(2000, 7, 25); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(true); calendar.set(2000, 8, 25); patient.setDeathDate(calendar.getTime()); visit.setPatient(patient); calendar.set(1999, 7, 25); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, not(hasFieldErrors("startDatetime"))); }
@Test public void validate_shouldPassValidationIfVisitDateOnBirthDate() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(1974, 4, 8); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(false); visit.setPatient(patient); calendar.set(1974, 4, 8); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, not(hasFieldErrors("startDatetime"))); }
/** * @see VisitService#saveVisit(Visit) */ @Test(expected = APIException.class) public void saveVisit_shouldFailIfValidationErrorsAreFound() { Visit visit = new Visit(); //Not setting the patient so that we get validation errors visit.setVisitType(visitService.getVisitType(1)); visit.setStartDatetime(new Date()); visitService.saveVisit(visit); }
/** * @see VisitValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfTheEndDatetimeIsBeforeTheStartDatetime() { Visit visit = new Visit(); Calendar c = Calendar.getInstance(); visit.setStartDatetime(c.getTime()); c.set(2010, 3, 15);//set to an older date visit.setStopDatetime(c.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertEquals(true, errors.hasFieldErrors("stopDatetime")); }
@Test public void validate_shouldFailValidationIfVisitDateBeforeEstimatedBirthDatesMinimumOneYearGracePeriod() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(2000, 7, 25); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(true); calendar.set(2000, 8, 25); patient.setDeathDate(calendar.getTime()); visit.setPatient(patient); calendar.set(1999, 7, 24); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, hasFieldErrors("startDatetime", "Visit.startDateCannotFallBeforeTheBirthDateOfTheSamePatient")); } }
@Test public void validate_shouldFailValidationIfVisitDateBeforeBirthDate() { Visit visit = new Visit(); Patient patient = new Patient(); calendar.set(1974, 4, 8); patient.setBirthdate(calendar.getTime()); patient.setBirthdateEstimated(false); visit.setPatient(patient); calendar.set(1974, 4, 7); visit.setStartDatetime(calendar.getTime()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertThat(errors, hasFieldErrors("startDatetime", "Visit.startDateCannotFallBeforeTheBirthDateOfTheSamePatient")); }
/** * @see EncounterService#getEncounters(Patient, Location, Date, Date, java.util.Collection, * java.util.Collection, java.util.Collection, java.util.Collection, java.util.Collection, * boolean) */ @Test public void getEncounters_shouldGetEncountersByVisit() { List<Visit> visits = new ArrayList<>(); visits.add(new Visit(1)); EncounterSearchCriteria encounterSearchCriteria = new EncounterSearchCriteriaBuilder().setVisits(visits) .setIncludeVoided(true).createEncounterSearchCriteria(); List<Encounter> encounters = Context.getEncounterService().getEncounters(encounterSearchCriteria); assertEquals(2, encounters.size()); }
private Visit makeVisit(Integer patientId) { Visit visit = new Visit(); visit.setPatient(Context.getPatientService().getPatient(patientId)); visit.setStartDatetime(new Date()); visit.setVisitType(visitService.getVisitType(1)); return visit; }
/** * @see VisitService#purgeVisit(Visit) */ @Test public void purgeVisit_shouldReturnWithoutVoidingIfVisitIsUnsaved() { int originalSize = getNumberOfAllVisitsIncludingVoided(); visitService.purgeVisit(new Visit()); assertEquals(originalSize, getNumberOfAllVisitsIncludingVoided()); }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldPassIfNoValidationErrorsAreFound() { Visit visit = new Visit(); visit.setPatient(Context.getPatientService().getPatient(2)); visit.setVisitType(visitService.getVisitType(1)); visit.setStartDatetime(new Date()); visitService.saveVisit(visit); }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldSaveAVisitThoughChangedByAndDateCreatedAreNotSetForVisitAttributeExplictly() { executeDataSet(VISITS_ATTRIBUTES_XML); Visit visit = new Visit(new Patient(2), new VisitType(3), new Date()); VisitAttribute visitAttribute = createVisitAttributeWithoutCreatorAndDateCreated(); visit.setAttribute(visitAttribute); visit = visitService.saveVisit(visit); assertNotNull(visit.getId()); }
/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldAddANewVisitToTheDatabase() { Integer originalSize = visitService.getAllVisits().size(); Visit visit = new Visit(new Patient(2), new VisitType(1), new Date()); visit = visitService.saveVisit(visit); assertNotNull(visit.getId()); assertNotNull(visit.getUuid()); assertNotNull(visit.getCreator()); assertNotNull(visit.getDateCreated()); assertEquals(originalSize + 1, visitService.getAllVisits().size()); }
/** * @see VisitValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfVisitTypeIsNotSet() { Visit visit = new Visit(); visit.setPatient(Context.getPatientService().getPatient(2)); visit.setStartDatetime(new Date()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("visitType")); }
/** * @see VisitValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfPatientIsNotSet() { VisitService vs = Context.getVisitService(); Visit visit = new Visit(); visit.setVisitType(vs.getVisitType(1)); visit.setStartDatetime(new Date()); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("patient")); }
/** * @see EncounterValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfTheVisitHasNoPatient() { encounter.setPatient(new Patient(2)); Visit visit = new Visit(); encounter.setVisit(visit); encounterValidator.validate(encounter, errors); Assert.assertEquals("Encounter.visit.patients.dontMatch", errors.getFieldError("visit").getCode()); }
/** * @see EncounterValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfThePatientsForTheVisitAndTheEncounterDontMatch() { encounter.setPatient(new Patient(2)); Visit visit = new Visit(); visit.setPatient(new Patient(3)); encounter.setVisit(visit); encounterValidator.validate(encounter, errors); Assert.assertEquals("Encounter.visit.patients.dontMatch", errors.getFieldError("visit").getCode()); }
/** * @see VisitValidator#validate(Object,Errors) */ @Test public void validate_shouldFailIfStartDatetimeIsNotSet() { VisitService vs = Context.getVisitService(); Visit visit = new Visit(); visit.setVisitType(vs.getVisitType(1)); visit.setPatient(Context.getPatientService().getPatient(2)); Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("startDatetime")); }