Skip to content

Commit 027b83e

Browse files
author
jwnasambu
committed
BED-17: Refactor BedManagementDaoImplTest to use EncounterService.getEncounterType()
1 parent 0fd4758 commit 027b83e

File tree

1 file changed

+51
-49
lines changed

1 file changed

+51
-49
lines changed

api/src/test/java/org/openmrs/module/bedmanagement/BedManagementDaoImplTest.java

Lines changed: 51 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -26,36 +26,38 @@
2626
import static org.junit.Assert.assertNotNull;
2727

2828
public class BedManagementDaoImplTest extends BaseModuleContextSensitiveTest {
29-
29+
3030
private BedManagementDao bedManagementDao;
31-
31+
3232
private Location defaultLocation;
33-
33+
3434
private EncounterType defaultEncounterType;
35-
35+
3636
@Before
3737
public void setup() {
3838
bedManagementDao = Context.getRegisteredComponent("bedManagementDao", BedManagementDao.class);
3939
assertNotNull("bedManagementDao should be initialized", bedManagementDao);
40-
40+
4141
defaultLocation = Context.getLocationService().getLocationByUuid("8d6c993e-c2cc-11de-8d13-0010c6dffd0f");
4242
assertNotNull("Default location should not be null", defaultLocation);
43-
43+
4444
defaultEncounterType = getOrCreateEncounterType("Test Encounter Type");
4545
}
46-
46+
4747
private EncounterType getOrCreateEncounterType(String name) {
48-
for (EncounterType et : Context.getEncounterService().getAllEncounterTypes()) {
49-
if (name.equals(et.getName())) {
50-
return et;
51-
}
48+
EncounterType encounterType = Context.getEncounterService().getEncounterType(name);
49+
50+
if (encounterType != null) {
51+
return encounterType;
5252
}
53+
5354
EncounterType newType = new EncounterType();
5455
newType.setName(name);
55-
newType.setDescription("Test Encounter Type Description");
56-
return Context.getEncounterService().saveEncounterType(newType);
56+
newType.setDescription("Created for testing: " + name);
57+
Context.getEncounterService().saveEncounterType(newType);
58+
return newType;
5759
}
58-
60+
5961
private Patient createPatient(String identifierString, String firstName, String middleName, String lastName) {
6062
PatientIdentifierType pit = Context.getPatientService().getPatientIdentifierTypeByName("Test Identifier Type");
6163
if (pit == null) {
@@ -64,35 +66,35 @@ private Patient createPatient(String identifierString, String firstName, String
6466
pit.setDescription("Test Identifier Type Description");
6567
Context.getPatientService().savePatientIdentifierType(pit);
6668
}
67-
69+
6870
PatientIdentifier identifier = new PatientIdentifier(identifierString, pit, defaultLocation);
6971
identifier.setPreferred(true);
70-
72+
7173
PersonName name = new PersonName(firstName, middleName, lastName);
7274
name.setPreferred(true);
73-
75+
7476
Patient patient = new Patient();
7577
patient.addIdentifier(identifier);
7678
patient.addName(name);
7779
patient.setGender("M");
78-
80+
7981
return Context.getPatientService().savePatient(patient);
8082
}
81-
83+
8284
private Bed createBed(String bedNumber) {
8385
BedType bedType = new BedType();
8486
bedType.setName("Test BedType");
8587
bedType.setDisplayName("TB");
8688
bedType.setDescription("Test Bed Type");
8789
bedType = bedManagementDao.saveBedType(bedType);
88-
90+
8991
Bed bed = new Bed();
9092
bed.setBedNumber(bedNumber);
9193
bed.setStatus("AVAILABLE");
9294
bed.setBedType(bedType);
9395
return bedManagementDao.saveBed(bed);
9496
}
95-
97+
9698
private VisitType getOrCreateVisitType(String name) {
9799
for (VisitType vt : Context.getVisitService().getAllVisitTypes()) {
98100
if (name.equals(vt.getName())) {
@@ -104,17 +106,17 @@ private VisitType getOrCreateVisitType(String name) {
104106
newType.setDescription("Test Visit Type");
105107
return Context.getVisitService().saveVisitType(newType);
106108
}
107-
109+
108110
private Visit createVisit(Patient patient) {
109111
VisitType visitType = getOrCreateVisitType("Outpatient");
110-
112+
111113
Visit visit = new Visit();
112114
visit.setPatient(patient);
113115
visit.setVisitType(visitType);
114116
visit.setStartDatetime(new Date());
115117
return Context.getVisitService().saveVisit(visit);
116118
}
117-
119+
118120
private Encounter createEncounter(Patient patient, Visit visit) {
119121
Encounter encounter = new Encounter();
120122
encounter.setPatient(patient);
@@ -124,115 +126,115 @@ private Encounter createEncounter(Patient patient, Visit visit) {
124126
encounter.setLocation(defaultLocation);
125127
return Context.getEncounterService().saveEncounter(encounter);
126128
}
127-
129+
128130
@Test
129131
public void shouldReturnBedByPatient() {
130132
Patient patient = createPatient("PID123", "John", "A", "Doe");
131133
Bed bed = createBed("B101");
132-
134+
133135
Visit visit = createVisit(patient);
134136
Encounter encounter = createEncounter(patient, visit);
135-
137+
136138
BedPatientAssignment assignment = new BedPatientAssignment();
137139
assignment.setBed(bed);
138140
assignment.setPatient(patient);
139141
assignment.setEncounter(encounter);
140142
assignment.setStartDatetime(new Date());
141143
assignment.setEndDatetime(null);
142144
bedManagementDao.saveBedPatientAssignment(assignment);
143-
145+
144146
Bed result = bedManagementDao.getBedByPatient(patient);
145-
147+
146148
assertNotNull("Expected a bed to be returned for the patient", result);
147149
assertEquals("B101", result.getBedNumber());
148150
}
149-
151+
150152
@Test
151153
public void shouldReturnBedPatientAssignmentByUuid() {
152154
Patient patient = createPatient("PID124", "Jane", "B", "Smith");
153155
Bed bed = createBed("B102");
154-
156+
155157
Visit visit = createVisit(patient);
156158
Encounter encounter = createEncounter(patient, visit);
157-
159+
158160
BedPatientAssignment assignment = new BedPatientAssignment();
159161
assignment.setBed(bed);
160162
assignment.setPatient(patient);
161163
assignment.setEncounter(encounter);
162164
assignment.setStartDatetime(new Date());
163165
assignment.setEndDatetime(null);
164166
BedPatientAssignment saved = bedManagementDao.saveBedPatientAssignment(assignment);
165-
167+
166168
BedPatientAssignment result = bedManagementDao.getBedPatientAssignmentByUuid(saved.getUuid());
167-
169+
168170
assertNotNull("Expected a BedPatientAssignment to be found by UUID", result);
169171
assertEquals(patient.getUuid(), result.getPatient().getUuid());
170172
}
171-
173+
172174
@Test
173175
public void shouldReturnCurrentAssignmentsByBed() {
174176
Bed bed = createBed("B103");
175177
Patient patient1 = createPatient("PID125", "Alice", "C", "Jones");
176178
Patient patient2 = createPatient("PID126", "Bob", "D", "White");
177-
179+
178180
Visit visit1 = createVisit(patient1);
179181
Encounter encounter1 = createEncounter(patient1, visit1);
180-
182+
181183
Visit visit2 = createVisit(patient2);
182184
Encounter encounter2 = createEncounter(patient2, visit2);
183-
185+
184186
BedPatientAssignment assignment1 = new BedPatientAssignment();
185187
assignment1.setBed(bed);
186188
assignment1.setPatient(patient1);
187189
assignment1.setEncounter(encounter1);
188190
assignment1.setStartDatetime(new Date());
189191
assignment1.setEndDatetime(null);
190192
bedManagementDao.saveBedPatientAssignment(assignment1);
191-
193+
192194
BedPatientAssignment assignment2 = new BedPatientAssignment();
193195
assignment2.setBed(bed);
194196
assignment2.setPatient(patient2);
195197
assignment2.setEncounter(encounter2);
196198
assignment2.setStartDatetime(new Date());
197199
assignment2.setEndDatetime(null);
198200
bedManagementDao.saveBedPatientAssignment(assignment2);
199-
201+
200202
List<BedPatientAssignment> results = bedManagementDao.getCurrentAssignmentsByBed(bed);
201-
203+
202204
assertNotNull("Expected a list of current assignments", results);
203205
assertEquals(2, results.size());
204206
}
205-
207+
206208
@Test
207209
public void shouldReturnLatestBedByVisit() {
208210
Patient patient = createPatient("PID127", "Charlie", "E", "Brown");
209-
211+
210212
Visit visit = createVisit(patient);
211-
213+
212214
Encounter encounter1 = createEncounter(patient, visit);
213215
Encounter encounter2 = createEncounter(patient, visit);
214-
216+
215217
Bed bed1 = createBed("B104");
216218
Bed bed2 = createBed("B105");
217-
219+
218220
BedPatientAssignment assignment1 = new BedPatientAssignment();
219221
assignment1.setBed(bed1);
220222
assignment1.setPatient(patient);
221223
assignment1.setEncounter(encounter1);
222224
assignment1.setStartDatetime(new Date(System.currentTimeMillis() - 100000L));
223225
assignment1.setEndDatetime(new Date(System.currentTimeMillis() - 50000L));
224226
bedManagementDao.saveBedPatientAssignment(assignment1);
225-
227+
226228
BedPatientAssignment assignment2 = new BedPatientAssignment();
227229
assignment2.setBed(bed2);
228230
assignment2.setPatient(patient);
229231
assignment2.setEncounter(encounter2);
230232
assignment2.setStartDatetime(new Date());
231233
assignment2.setEndDatetime(null);
232234
bedManagementDao.saveBedPatientAssignment(assignment2);
233-
235+
234236
Bed latest = bedManagementDao.getLatestBedByVisit(visit.getUuid());
235-
237+
236238
assertNotNull("Expected the latest bed to be returned for the visit", latest);
237239
assertEquals("B105", latest.getBedNumber());
238240
}

0 commit comments

Comments
 (0)