Skip to content

Commit

Permalink
Merge pull request #1161 from mozzy11/develop
Browse files Browse the repository at this point in the history
fix provider menu
  • Loading branch information
mozzy11 authored Jul 3, 2024
2 parents b86043b + 1a210b3 commit b598cf6
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
*/
package org.openelisglobal.person.valueholder;

import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.HashSet;
import java.util.Set;
import javax.validation.constraints.Email;
Expand Down Expand Up @@ -70,6 +71,7 @@ public class Person extends BaseObject<String> {
@Email
private String email;

@JsonIgnore
@AssociationInverseSide(inversePath = @ObjectPath(@PropertyValue(propertyName = "person")))
private Set<Patient> patients = new HashSet<>(0);

Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/hibernate/hbm/Person.hbm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
<property name="email" type="java.lang.String">
<column name="EMAIL" />
</property>
<set name="patients" table="PATIENT" fetch="select" lazy="false">
<set name="patients" table="PATIENT" fetch="select" lazy="true">
<key>
<column name="PERSON_ID" precision="10" scale="0" not-null="true"/>
</key>
Expand Down
25 changes: 22 additions & 3 deletions src/test/java/org/openelisglobal/person/PersonServiceTest.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package org.openelisglobal.person;

import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Set;
import javax.transaction.Transactional;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
Expand Down Expand Up @@ -50,20 +55,34 @@ public void createPerson_shouldCreateNewPerson() throws Exception {
}

@Test
@Transactional
@SuppressWarnings("unchecked")
public void createPersonWithMultiplePatients_shouldLinkPatientsToPerson() throws Exception {

Person person = new Person();
String personId = personService.insert(person);
Person savedPerson = personService.get(personId);

DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = dateFormat.parse("12/12/1992");
long time = date.getTime();
Timestamp dob = new Timestamp(time);

Patient patient1 = new Patient();
patient1.setPerson(person);
patient1.setBirthDate(dob);
patient1.setGender("M");
String patientId1 = patientService.insert(patient1);
Patient patient2 = new Patient();
patient2.setPerson(person);
patient2.setBirthDate(dob);
patient2.setGender("M");
String patientId2 = patientService.insert(patient2);

savedPerson.addPatient(patient1);
savedPerson.addPatient(patient2);
String patientId1 = patientService.insert(patient1);
String patientId2 = patientService.insert(patient2);

Set<Patient> patients = savedPerson.getPatients();
Set<Patient> patients = personService.get(savedPerson.getId()).getPatients();
Assert.assertEquals(2, patients.size());
Assert.assertTrue(patients.stream().anyMatch(p -> p.getId().equals(patientId1)));
Assert.assertTrue(patients.stream().anyMatch(p -> p.getId().equals(patientId2)));
Expand Down

0 comments on commit b598cf6

Please sign in to comment.