diff options
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm.scala | 11 | ||||
-rw-r--r-- | src/test/scala/xyz/driver/pdsuidomain/formats/json/EligibilityArmWithDiseasesFormatSuite.scala | 5 |
2 files changed, 6 insertions, 10 deletions
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 = |