/** * @see org.openmrs.api.PersonService#unvoidPerson(org.openmrs.Person) */ @Override public Person unvoidPerson(Person person) throws APIException { if (person == null) { return null; } return Context.getPersonService().savePerson(person); }
@Test public void shouldClearMillisecondsWhenUpdatingAnExistingObject() { Date dateWithMillisecond = new Date(567L); Date dateWithoutMillisecond = new Date(0L); Person person = personService.getPerson(1); person.setBirthdate(dateWithMillisecond); personService.savePerson(person); Context.flushSession(); assertThat(person.getBirthdate(), is(dateWithoutMillisecond)); }
@Test public void shouldClearMillisecondsWhenSavingANewObject() { Date dateWithMillisecond = new Date(567L); Date dateWithoutMillisecond = new Date(0L); Person person = new Person(); person.addName(new PersonName("Alice", null, "Paul")); person.setGender("F"); person.setBirthdate(dateWithMillisecond); personService.savePerson(person); Context.flushSession(); assertThat(person.getBirthdate(), is(dateWithoutMillisecond)); }
Context.getPatientService().savePatient((Patient) person); } else { Context.getPersonService().savePerson(person);
@Test public void onSave_shouldPopulateCreatorForPersonIfNull() { Person person = createPersonWithNameAndAddress(); Context.getPersonService().savePerson(person); Assert.assertNotNull(person.getCreator()); Assert.assertNotNull(person.getPersonCreator()); }
@Test public void onSave_shouldPopulateDateCreatedForPersonIfNull() { Person person = createPersonWithNameAndAddress(); Context.getPersonService().savePerson(person); Assert.assertNotNull(person.getDateCreated()); Assert.assertNotNull(person.getPersonDateCreated()); }
/** * @see RequireVoidReasonSaveHandler#handle(Voidable,User,Date,String) */ @Test public void handle_shouldNotThrowExceptionIfVoidReasonIsNullForUnsupportedTypes() { Person p = Context.getPersonService().getPerson(1); p.setVoided(true); p.setVoidReason(null); p.setVoidReason("voidReason"); Context.getPersonService().savePerson(p); } }
/** * @see ProviderService#getCountOfProviders(String,null) */ @Test public void getCountOfProviders_shouldFetchNumberOfProviderMatchingGivenQuery() { assertEquals(1, service.getCountOfProviders("Hippo").intValue()); Person person = Context.getPersonService().getPerson(502); Set<PersonName> names = person.getNames(); for (PersonName name : names) { name.setVoided(true); } PersonName personName = new PersonName("Hippot", "A", "B"); personName.setPreferred(true); person.addName(personName); Context.getPersonService().savePerson(person); assertEquals(1, service.getCountOfProviders("Hippo").intValue()); }
/** * @see PersonService#savePerson(Person) */ @Test public void savePerson_shouldUpdateExistingObjectWhenPersonIdIsNotNull() throws Exception { Person personSaved = Context.getPersonService().getPerson(1); Assert.assertNotNull(personSaved.getId()); personSaved.setGender("M"); Person personUpdated = Context.getPersonService().savePerson(personSaved); Assert.assertEquals("M", personUpdated.getGender()); }
/** * @see PersonService#savePerson(Person) */ @Test public void savePerson_shouldCreateNewObjectWhenPersonIdIsNull() throws Exception { User user = Context.getAuthenticatedUser(); Person person = new Person(); person.setPersonCreator(user); person.setPersonDateCreated(new Date()); person.setPersonChangedBy(user); person.setPersonDateChanged(new Date()); person.setGender("F"); Assert.assertNull(person.getId()); person.addName(new PersonName("givenName", "middleName", "familyName")); Person personSaved = Context.getPersonService().savePerson(person); Assert.assertNotNull(personSaved.getId()); }
/** * @see PersonService#purgePerson(Person) */ @Test public void purgePerson_shouldDeletePersonFromTheDatabase() throws Exception { PersonService personService = Context.getPersonService(); User user = Context.getAuthenticatedUser(); Person person = new Person(); person.setPersonCreator(user); person.setPersonDateCreated(new Date()); person.setPersonChangedBy(user); person.setPersonDateChanged(new Date()); person.setGender("F"); Assert.assertNull(person.getId()); person.addName(new PersonName("givenName", "middleName", "familyName")); person = personService.savePerson(person); Assert.assertNotNull(person.getId()); personService.purgePerson(person); Person deletedPerson = personService.getPerson(person.getId()); Assert.assertNull(deletedPerson); }
/** * @see PersonService#savePerson(Person) */ @Test public void savePerson_shouldSetThePreferredNameAndAddressIfNoneIsSpecified() throws Exception { Person person = new Person(); person.setGender("M"); PersonName name = new PersonName("givenName", "middleName", "familyName"); person.addName(name); PersonAddress address = new PersonAddress(); address.setAddress1("some address"); person.addAddress(address); personService.savePerson(person); assertTrue(name.getPreferred()); assertTrue(address.getPreferred()); }
@Test public void onSave_shouldPopulatePersonChangedByandPersonDateChangedIfPersonAlreadyExists() { Person person = Context.getPersonService().getPerson(1); Assert.assertNull(person.getPersonChangedBy()); Assert.assertNull(person.getPersonDateChanged()); person.setGender("F"); Context.flushSession(); Context.getPersonService().savePerson(person); Assert.assertNotNull(person.getPersonChangedBy()); Assert.assertNotNull(person.getPersonDateChanged()); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.BaseDelegatingResource#purge(java.lang.Object, * org.openmrs.module.webservices.rest.web.RequestContext) */ @Override public void purge(PersonAddress address, RequestContext context) throws ResponseException { ///API has no void methods as of 1.8 and earlier versios, //we should be calling voidPersonAddress(PersonAddress, Reason) that was added in 1.9 address.getPerson().removeAddress(address); Context.getPersonService().savePerson(address.getPerson()); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingCrudResource#purge(java.lang.Object, * org.openmrs.module.webservices.rest.web.RequestContext) */ @Override public void purge(PersonAttribute delegate, RequestContext context) throws ResponseException { delegate.getPerson().removeAttribute(delegate); Context.getPersonService().savePerson(delegate.getPerson()); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.BaseDelegatingResource#delete(java.lang.Object, * java.lang.String, org.openmrs.module.webservices.rest.web.RequestContext) */ @Override public void delete(PersonName pn, String reason, RequestContext context) throws ResponseException { pn.setVoided(true); pn.setVoidedBy(Context.getAuthenticatedUser()); pn.setVoidReason(reason); pn.setDateVoided(new Date()); Context.getPersonService().savePerson(pn.getPerson()); }
/** * @see PersonService#savePerson(Person) */ @Test public void savePerson_shouldNotSetThePreferredNameAndAddressIfTheyAlreadyExist() throws Exception { Person person = new Person(); person.setGender("M"); PersonName name = new PersonName("givenName", "middleName", "familyName"); PersonName preferredName = new PersonName("givenName", "middleName", "familyName"); preferredName.setPreferred(true); person.addName(name); person.addName(preferredName); PersonAddress address = new PersonAddress(); address.setAddress1("some address"); PersonAddress preferredAddress = new PersonAddress(); preferredAddress.setAddress1("another address"); preferredAddress.setPreferred(true); person.addAddress(address); person.addAddress(preferredAddress); personService.savePerson(person); assertTrue(preferredName.getPreferred()); assertTrue(preferredAddress.getPreferred()); Assert.assertFalse(name.getPreferred()); Assert.assertFalse(address.getPreferred()); }
/** * @see PersonService#savePerson(Person) */ @Test public void savePerson_shouldNotSetAVoidedNameOrAddressAsPreferred() throws Exception { Person person = new Person(); person.setGender("M"); PersonName name = new PersonName("givenName", "middleName", "familyName"); PersonName preferredName = new PersonName("givenName", "middleName", "familyName"); preferredName.setPreferred(true); preferredName.setVoided(true); person.addName(name); person.addName(preferredName); PersonAddress address = new PersonAddress(); address.setAddress1("some address"); PersonAddress preferredAddress = new PersonAddress(); preferredAddress.setAddress1("another address"); preferredAddress.setPreferred(true); preferredAddress.setVoided(true); person.addAddress(address); person.addAddress(preferredAddress); personService.savePerson(person); Assert.assertFalse(preferredName.getPreferred()); Assert.assertFalse(preferredAddress.getPreferred()); assertTrue(name.getPreferred()); assertTrue(address.getPreferred()); }
@Override public OpenMRSPerson addPerson(MRSPerson person) { if (!findByPersonId(person.getPersonId()).isEmpty()) { return updatePerson(person); } else { Person savedPerson = personService.savePerson(PersonHelper.createPerson(person, personService.getAllPersonAttributeTypes(false))); OpenMRSPerson returnedPerson = PersonHelper.openMRSToMRSPerson(savedPerson); eventRelay.sendEventMessage(new MotechEvent(EventKeys.CREATED_NEW_PERSON_SUBJECT, EventHelper.personParameters(returnedPerson))); return returnedPerson; } }
@Test public void shouldExcludeVoidedAddressesForAPerson() throws Exception { // For test purposes, we need to void all addresses Person person = service.getPersonByUuid(RestTestConstants1_8.PERSON_UUID); for (PersonAddress addr : person.getAddresses()) { addr.setVoided(true); } service.savePerson(person); MockHttpServletRequest req = request(RequestMethod.GET, getURI()); SimpleObject result = deserialize(handle(req)); Assert.assertEquals(0, Util.getResultsSize(result)); }