From 5c50fd8f9eb4588e8f2c7ea5b84822e224b222e5 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Mon, 20 Nov 2017 21:04:06 -0800 Subject: Nest format --- .../xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala | 5 ++--- .../pdsuidomain/formats/json/PatientEligibleTrialFormatSuite.scala | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala index 11253fc..f21b0cb 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patienteligibletrial.scala @@ -14,9 +14,8 @@ object patienteligibletrial { def applyUpdateToTrialArmGroup(json: JsValue, orig: PatientTrialArmGroupView): PatientTrialArmGroupView = json match { case JsObject(fields) => - val isVerified = fields - .get("isVerified") - .map(_.convertTo[Boolean]) + val isVerified = fields.get("group").map(_.asJsObject) + .flatMap(_.fields.get("isVerified")).map(_.convertTo[Boolean]) .getOrElse(orig.isVerified) orig.copy(isVerified = isVerified) diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientEligibleTrialFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientEligibleTrialFormatSuite.scala index 0a83c62..9695c2d 100644 --- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientEligibleTrialFormatSuite.scala +++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/PatientEligibleTrialFormatSuite.scala @@ -59,7 +59,7 @@ class PatientEligibleTrialFormatSuite extends FlatSpec with Matchers { "verifiedEligibilityStatus":"Yes","trialId":"NCT000001","eligibilityStatus":"Yes","id":1}, "arms":[{"patientCriterionId":1,"armId":31,"armName":"arm 31"},{"patientCriterionId":1,"armId":32,"armName":"arm 32"}]}""".parseJson) - val updatePatientEligibleTrialJson = """{"isVerified":true}""".parseJson + val updatePatientEligibleTrialJson = """{"group":{"isVerified":true}}""".parseJson val expectedUpdatedPatientTrialArmGroup = group.copy(isVerified = true) val parsedUpdatePatientTrialArmGroup = applyUpdateToTrialArmGroup(updatePatientEligibleTrialJson, group) parsedUpdatePatientTrialArmGroup should be(expectedUpdatedPatientTrialArmGroup) -- cgit v1.2.3