diff options
author | Vlad Uspensky <v.uspenskiy@icloud.com> | 2017-10-18 00:23:58 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-18 00:23:58 -0400 |
commit | 2a9bada86658ef15793f99f1867e23f3b31e7032 (patch) | |
tree | e10018be9eac9640d67c576d9f81e1021ae8edb6 /src/test/scala/xyz/driver/pdsuidomain/formats/json | |
parent | eb9a75c226b005e5989d2a6494160ebe0dd9d9e7 (diff) | |
parent | 9997ad1a778d6ed32f5dd90634be371986e4cca9 (diff) | |
download | rest-query-2a9bada86658ef15793f99f1867e23f3b31e7032.tar.gz rest-query-2a9bada86658ef15793f99f1867e23f3b31e7032.tar.bz2 rest-query-2a9bada86658ef15793f99f1867e23f3b31e7032.zip |
Merge pull request #46 from drivergroup/PDSUI-additional-formats
Implemented format for EligibilityArmWithDiseases class; Fixed formats for other classes
Diffstat (limited to 'src/test/scala/xyz/driver/pdsuidomain/formats/json')
2 files changed, 55 insertions, 36 deletions
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) + } +} |