From 62cc5fb18c7b8280fe0f415b85daed0547db2fc7 Mon Sep 17 00:00:00 2001 From: Kseniya Tomskikh Date: Fri, 17 Nov 2017 12:51:49 +0700 Subject: TRIAL-123 Eligibility arm with diseases format was fixed --- .../xyz/driver/pdsuidomain/formats/json/eligibilityarm.scala | 11 +++-------- .../formats/json/EligibilityArmWithDiseasesFormatSuite.scala | 5 +++-- 2 files changed, 6 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm.scala index b605566..5827f62 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm.scala @@ -92,18 +92,13 @@ object eligibilityarm { val diseases = fields .get("diseases") - .map(_.convertTo[Seq[CancerType]]) - .getOrElse(orig.eligibilityArmDiseases.map(_.disease)) + .map(_.convertTo[Seq[CancerType]].map(x => EligibilityArmDisease(orig.eligibilityArm.id, x))) + .getOrElse(orig.eligibilityArmDiseases) orig.copy( eligibilityArm = orig.eligibilityArm .copy(name = name), - eligibilityArmDiseases = orig.eligibilityArmDiseases - .zip(diseases) - .map { - case (eligibilityArmDisease, disease) => - eligibilityArmDisease.copy(disease = disease) - } + eligibilityArmDiseases = diseases ) case _ => deserializationErrorEntityMessage(json) diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/EligibilityArmWithDiseasesFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/EligibilityArmWithDiseasesFormatSuite.scala index 054f2f6..4203680 100644 --- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/EligibilityArmWithDiseasesFormatSuite.scala +++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/EligibilityArmWithDiseasesFormatSuite.scala @@ -39,9 +39,10 @@ class EligibilityArmWithDiseasesFormatSuite extends FlatSpec with Matchers { val parsedArmWithDiseases = eligibilityArmWithDiseasesReader.read(createArmWithDiseasesJson) parsedArmWithDiseases should be(eligibilityArmWithDiseases) - val updateArmWithDiseasesJson = """{"name":"new arm name"}""".parseJson + val updateArmWithDiseasesJson = """{"name":"new arm name","diseases":["Lung","Breast"]}""".parseJson val expectedUpdatedArmWithDiseases = eligibilityArmWithDiseases.copy( - eligibilityArm = eligibilityArmWithDiseases.eligibilityArm.copy(name = "new arm name") + eligibilityArm = eligibilityArmWithDiseases.eligibilityArm.copy(name = "new arm name"), + eligibilityArmDiseases = Seq(disease, disease.copy(disease = CancerType.Breast)) ) val parsedUpdateArmWithDiseases = -- cgit v1.2.3