/** * Called around every unvoid* method to set everything to null.<br> * <br> * * @see org.openmrs.api.handler.RequiredDataHandler#handle(org.openmrs.OpenmrsObject, * org.openmrs.User, java.util.Date, java.lang.String) * @should unset the personVoided bit * @should unset the personVoider * @should unset the personDateVoided * @should unset the personVoidReason * @should only act on already personVoided objects * @should not act on objects with a different personDateVoided */ @Override public void handle(Person person, User unvoidingUser, Date origParentVoidedDate, String unused) { // only operate on voided objects if (person.getPersonVoided() && (origParentVoidedDate == null || origParentVoidedDate.equals(person.getPersonDateVoided()))) { // only unvoid objects that were voided at the same time as the parent object person.setPersonVoided(false); person.setPersonVoidedBy(null); person.setPersonDateVoided(null); person.setPersonVoidReason(null); } }
/** * @see PersonUnvoidHandler#handle(Person,User,Date,String) */ @Test public void handle_shouldNotActOnObjectsWithADifferentPersonDateVoided() { Date d = new Date(new Date().getTime() - 1000); // a time that isn't right now UnvoidHandler<Person> handler = new PersonUnvoidHandler(); Person person = new Person(); person.setPersonVoided(true); person.setPersonDateVoided(d); handler.handle(person, null, new Date(), "SOME REASON"); Assert.assertTrue(person.getPersonVoided()); } }
person.setPersonVoided(true); person.setPersonVoidReason(voidReason);
/** * @see PersonUnvoidHandler#handle(Person,User,Date,String) */ @Test public void handle_shouldUnsetThePersonDateVoided() { UnvoidHandler<Person> handler = new PersonUnvoidHandler(); Person person = new Person(); person.setPersonVoided(true); person.setPersonDateVoided(new Date()); handler.handle(person, null, null, null); Assert.assertNull(person.getPersonDateVoided()); }
/** * @see PersonUnvoidHandler#handle(Person,User,Date,String) */ @Test public void handle_shouldUnsetThePersonVoider() { UnvoidHandler<Person> handler = new PersonUnvoidHandler(); Person person = new Person(); person.setPersonVoided(true); person.setPersonVoidedBy(new User(1)); handler.handle(person, null, null, null); Assert.assertNull(person.getPersonVoidedBy()); }
/** * @see PersonVoidHandler#handle(Person,User,Date,String) */ @Test public void handle_shouldSetThePersonVoidedBit() { VoidHandler<Person> handler = new PersonVoidHandler(); Person person = new Person(); person.setPersonVoided(false); // make sure personVoided is false handler.handle(person, null, null, " "); Assert.assertTrue(person.getPersonVoided()); }
setPersonChangedBy(person.getPersonChangedBy()); setPersonDateChanged(person.getPersonDateChanged()); setPersonVoided(person.getPersonVoided()); setPersonVoidedBy(person.getPersonVoidedBy()); setPersonDateVoided(person.getPersonDateVoided());
/** * @see PersonUnvoidHandler#handle(Person,User,Date,String) */ @Test public void handle_shouldUnsetThePersonVoidedBit() { UnvoidHandler<Person> handler = new PersonUnvoidHandler(); Person person = new Person(); person.setPersonVoided(true); // make sure personVoided is set handler.handle(person, null, null, null); Assert.assertFalse(person.getPersonVoided()); }
/** * @see PersonUnvoidHandler#handle(Person,User,Date,String) */ @Test public void handle_shouldOnlyActOnAlreadyVoidedObjects() { UnvoidHandler<Person> handler = new PersonUnvoidHandler(); Person person = new Person(); person.setPersonVoided(false); handler.handle(person, null, null, "SOME REASON"); Assert.assertNull(person.getPersonVoidReason()); }
/** * @see PersonVoidHandler#handle(Person,User,Date,String) */ @Test public void handle_shouldNotSetThePersonVoidReasonIfAlreadyPersonVoided() { VoidHandler<Person> handler = new PersonVoidHandler(); Person person = new Person(); person.setPersonVoided(true); handler.handle(person, null, null, "THE REASON"); Assert.assertNull(person.getPersonVoidReason()); }
/** * @see PersonUnvoidHandler#handle(Person,User,Date,String) */ @Test public void handle_shouldUnsetThePersonVoidReason() { UnvoidHandler<Person> handler = new PersonUnvoidHandler(); Person person = new Person(); person.setPersonVoided(true); person.setPersonVoidReason("SOME REASON"); handler.handle(person, null, null, null); Assert.assertNull(person.getPersonVoidReason()); }
/** * @see org.openmrs.validator.PersonValidator#validate(Object,Errors) */ @Test public void validate_shouldPassValidationIfFieldLengthsAreCorrect() { Person person = new Person(1); person.setBirthdate(new Date()); person.setGender("g"); person.setPersonVoided(true); person.setPersonVoidReason("voidReason"); Errors errors = new BindException(person, "person"); PersonValidator personValidator = new PersonValidator(); personValidator.validate(person, errors); Assert.assertFalse(errors.hasErrors()); }
/** * @see org.openmrs.validator.PersonValidator#validate(Object,Errors) */ @Test public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Person person = new Person(1); person.setBirthdate(new Date()); person.setGender("too long text too long too long text too long text too long text"); person.setPersonVoided(true); person .setPersonVoidReason("too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text"); Errors errors = new BindException(person, "person"); PersonValidator personValidator = new PersonValidator(); personValidator.validate(person, errors); Assert.assertTrue(errors.hasFieldErrors("gender")); Assert.assertTrue(errors.hasFieldErrors("personVoidReason")); }
@Test public void validate_shouldNotFailWhenDeathCauseNotCodedIsSet() { Person person = new Patient(1); person.setDead(true); person.setCauseOfDeathNonCoded("Some text describing Cause of Death"); person.setPersonVoided(true); person.setPersonVoidReason("voidReason"); person.setGender("g"); Errors errors = new BindException(person, "patient"); PersonValidator personValidator = new PersonValidator(); personValidator.validate(person, errors); Assert.assertFalse(errors.hasErrors()); }