From 91ac9c92f5b8232d22a41885b6d64686e22fcc3d Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Thu, 12 Oct 2017 16:48:47 +0700 Subject: Implemented format for EligibilityArmWithDiseases class; Fixed formats for other classes --- .../sprayformats/EligibilityArmFormatSuite.scala | 36 -------------- .../EligibilityArmWithDiseasesFormatSuite.scala | 55 ++++++++++++++++++++++ 2 files changed, 55 insertions(+), 36 deletions(-) delete mode 100644 src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/EligibilityArmFormatSuite.scala create mode 100644 src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/EligibilityArmWithDiseasesFormatSuite.scala (limited to 'src/test/scala/xyz/driver') diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/EligibilityArmFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/EligibilityArmFormatSuite.scala deleted file mode 100644 index bcfb977..0000000 --- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/EligibilityArmFormatSuite.scala +++ /dev/null @@ -1,36 +0,0 @@ -package xyz.driver.pdsuidomain.formats.json.sprayformats - -import spray.json._ -import org.scalatest.{FlatSpec, Matchers} -import xyz.driver.pdsuicommon.domain.{LongId, StringId} -import xyz.driver.pdsuidomain.entities.EligibilityArm - -class EligibilityArmFormatSuite extends FlatSpec with Matchers { - import eligibilityarm._ - - "Json format for EligibilityArm" should "read and write correct JSON" in { - val arm = EligibilityArm( - id = LongId(10), - trialId = StringId("NCT000001"), - name = "arm name", - originalName = "orig arm name" - ) - val writtenJson = eligibilityArmFormat.write(arm) - - writtenJson should be( - """{"id":10,"trialId":"NCT000001","name":"arm name","originalName":"orig arm name"}""".parseJson) - - val createArmJson = """{"trialId":"NCT000001","name":"arm name"}""".parseJson - val parsedArm = eligibilityArmFormat.read(createArmJson) - val expectedCreatedArm = arm.copy( - id = LongId(0), - originalName = "arm name" - ) - parsedArm should be(expectedCreatedArm) - - val updateArmJson = """{"name":"new arm name"}""".parseJson - val expectedUpdatedArm = arm.copy(name = "new arm name") - val parsedUpdateArm = applyUpdateToArm(updateArmJson, arm) - parsedUpdateArm should be(expectedUpdatedArm) - } -} diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/EligibilityArmWithDiseasesFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/EligibilityArmWithDiseasesFormatSuite.scala new file mode 100644 index 0000000..22adc98 --- /dev/null +++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/EligibilityArmWithDiseasesFormatSuite.scala @@ -0,0 +1,55 @@ +package xyz.driver.pdsuidomain.formats.json.sprayformats + +import spray.json._ +import org.scalatest.{FlatSpec, Matchers} +import xyz.driver.entities.patient.CancerType +import xyz.driver.pdsuicommon.domain.{LongId, StringId} +import xyz.driver.pdsuidomain.entities.{EligibilityArm, EligibilityArmDisease, EligibilityArmWithDiseases} + +class EligibilityArmWithDiseasesFormatSuite extends FlatSpec with Matchers { + import eligibilityarm._ + + "Json format for EligibilityArmWithDiseases" should "read and write correct JSON" in { + val name = "arm name" + + val arm = EligibilityArm( + id = LongId(0), + trialId = StringId("NCT000001"), + name = name, + originalName = name + ) + + val disease = EligibilityArmDisease( + arm.id, + disease = CancerType.Lung + ) + + val eligibilityArmWithDiseases = + EligibilityArmWithDiseases( + arm, + Seq(disease) + ) + + val writtenJson = eligibilityArmWithDiseasesWriter.write(eligibilityArmWithDiseases) + + writtenJson should be( + """{"id":0,"trialId":"NCT000001","name":"arm name","originalName":"arm name","diseases":["Lung"]}""".parseJson) + + val createArmWithDiseasesJson = """{"trialId":"NCT000001","name":"arm name","diseases":["Lung"]}""".parseJson + val parsedArmWithDiseases = eligibilityArmWithDiseasesReader.read(createArmWithDiseasesJson) + parsedArmWithDiseases should be(eligibilityArmWithDiseases) + + val updateArmWithDiseasesJson = """{"name":"new arm name"}""".parseJson + val expectedUpdatedArmWithDiseases = eligibilityArmWithDiseases.copy( + eligibilityArm = eligibilityArmWithDiseases.eligibilityArm.copy(name = "new arm name") + ) + + val parsedUpdateArmWithDiseases = + applyUpdateToEligibilityArmWithDiseases( + updateArmWithDiseasesJson, + eligibilityArmWithDiseases + ) + + parsedUpdateArmWithDiseases should be(expectedUpdatedArmWithDiseases) + } +} -- cgit v1.2.3