@@ -3275,4 +3275,108 @@ public void mergePatients_shouldMergePatientNames() throws Exception {
3275
3275
3276
3276
}
3277
3277
3278
+ /**
3279
+ * @see PatientService#savePatient(Patient)
3280
+ * @verifies set the preferred name address and identifier if none is specified
3281
+ */
3282
+ @ Test
3283
+ public void savePatient_shouldSetThePreferredNameAddressAndIdentifierIfNoneIsSpecified () throws Exception {
3284
+ Patient patient = new Patient ();
3285
+ patient .setGender ("M" );
3286
+ PatientIdentifier identifier = new PatientIdentifier ("QWERTY" , patientService .getPatientIdentifierType (2 ),
3287
+ locationService .getLocation (1 ));
3288
+ patient .addIdentifier (identifier );
3289
+ PersonName name = new PersonName ("givenName" , "middleName" , "familyName" );
3290
+ patient .addName (name );
3291
+ PersonAddress address = new PersonAddress ();
3292
+ address .setAddress1 ("some address" );
3293
+ patient .addAddress (address );
3294
+
3295
+ patientService .savePatient (patient );
3296
+ Assert .assertTrue (identifier .isPreferred ());
3297
+ Assert .assertTrue (name .isPreferred ());
3298
+ Assert .assertTrue (address .isPreferred ());
3299
+ }
3300
+
3301
+ /**
3302
+ * @see PatientService#savePatient(Patient)
3303
+ * @verifies not set the preferred name address and identifier if they already exist
3304
+ */
3305
+ @ Test
3306
+ public void savePatient_shouldNotSetThePreferredNameAddressAndIdentifierIfTheyAlreadyExist () throws Exception {
3307
+ Patient patient = new Patient ();
3308
+ patient .setGender ("M" );
3309
+ PatientIdentifier identifier = new PatientIdentifier ("QWERTY" , patientService .getPatientIdentifierType (2 ),
3310
+ locationService .getLocation (1 ));
3311
+ PatientIdentifier preferredIdentifier = new PatientIdentifier ("QWERTY2" , patientService .getPatientIdentifierType (2 ),
3312
+ locationService .getLocation (1 ));
3313
+ preferredIdentifier .setPreferred (true );
3314
+ patient .addIdentifier (identifier );
3315
+ patient .addIdentifier (preferredIdentifier );
3316
+
3317
+ PersonName name = new PersonName ("givenName" , "middleName" , "familyName" );
3318
+ PersonName preferredName = new PersonName ("givenName" , "middleName" , "familyName" );
3319
+ preferredName .setPreferred (true );
3320
+ patient .addName (name );
3321
+ patient .addName (preferredName );
3322
+
3323
+ PersonAddress address = new PersonAddress ();
3324
+ address .setAddress1 ("some address" );
3325
+ PersonAddress preferredAddress = new PersonAddress ();
3326
+ preferredAddress .setAddress1 ("another address" );
3327
+ preferredAddress .setPreferred (true );
3328
+ patient .addAddress (address );
3329
+ patient .addAddress (preferredAddress );
3330
+
3331
+ patientService .savePatient (patient );
3332
+ Assert .assertTrue (preferredIdentifier .isPreferred ());
3333
+ Assert .assertTrue (preferredName .isPreferred ());
3334
+ Assert .assertTrue (preferredAddress .isPreferred ());
3335
+ Assert .assertFalse (identifier .isPreferred ());
3336
+ Assert .assertFalse (name .isPreferred ());
3337
+ Assert .assertFalse (address .isPreferred ());
3338
+ }
3339
+
3340
+ /**
3341
+ * @see PatientService#savePatient(Patient)
3342
+ * @verifies not set a voided name or address or identifier as preferred
3343
+ */
3344
+ @ Test
3345
+ public void savePatient_shouldNotSetAVoidedNameOrAddressOrIdentifierAsPreferred () throws Exception {
3346
+ Patient patient = new Patient ();
3347
+ patient .setGender ("M" );
3348
+ PatientIdentifier identifier = new PatientIdentifier ("QWERTY" , patientService .getPatientIdentifierType (2 ),
3349
+ locationService .getLocation (1 ));
3350
+ PatientIdentifier preferredIdentifier = new PatientIdentifier ("QWERTY2" , patientService .getPatientIdentifierType (2 ),
3351
+ locationService .getLocation (1 ));
3352
+ preferredIdentifier .setPreferred (true );
3353
+ preferredIdentifier .setVoided (true );
3354
+ patient .addIdentifier (identifier );
3355
+ patient .addIdentifier (preferredIdentifier );
3356
+
3357
+ PersonName name = new PersonName ("givenName" , "middleName" , "familyName" );
3358
+ PersonName preferredName = new PersonName ("givenName" , "middleName" , "familyName" );
3359
+ preferredName .setPreferred (true );
3360
+ preferredName .setVoided (true );
3361
+ patient .addName (name );
3362
+ patient .addName (preferredName );
3363
+
3364
+ PersonAddress address = new PersonAddress ();
3365
+ address .setAddress1 ("some address" );
3366
+ PersonAddress preferredAddress = new PersonAddress ();
3367
+ preferredAddress .setAddress1 ("another address" );
3368
+ preferredAddress .setPreferred (true );
3369
+ preferredAddress .setVoided (true );
3370
+ patient .addAddress (address );
3371
+ patient .addAddress (preferredAddress );
3372
+
3373
+ patientService .savePatient (patient );
3374
+ Assert .assertFalse (preferredIdentifier .isPreferred ());
3375
+ Assert .assertFalse (preferredName .isPreferred ());
3376
+ Assert .assertFalse (preferredAddress .isPreferred ());
3377
+ Assert .assertTrue (identifier .isPreferred ());
3378
+ Assert .assertTrue (name .isPreferred ());
3379
+ Assert .assertTrue (address .isPreferred ());
3380
+ }
3381
+
3278
3382
}
0 commit comments