diff options
author | Aleksandr <ognelisar@gmail.com> | 2017-10-26 11:49:35 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-26 11:49:35 +0700 |
commit | a453d027f4a7a9a4f14ef272724c24fd19eb82a2 (patch) | |
tree | 2b01109efef171bee60fb45be008dd671eb8cbdf /src | |
parent | 49e1fd60cd562f33fbad7d4dd2ceaa535b4434d1 (diff) | |
parent | 91d58df031f5fdac59d70289bf9a7377a3529a9a (diff) | |
download | rest-query-a453d027f4a7a9a4f14ef272724c24fd19eb82a2.tar.gz rest-query-a453d027f4a7a9a4f14ef272724c24fd19eb82a2.tar.bz2 rest-query-a453d027f4a7a9a4f14ef272724c24fd19eb82a2.zip |
Merge pull request #56 from drivergroup/PDSUI-2341v0.10.12
PDSUI-2341Broken PATCH method for RC
Diffstat (limited to 'src')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/record.scala | 2 | ||||
-rw-r--r-- | src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/MedicalRecordFormatSuite.scala | 74 |
2 files changed, 75 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/record.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/record.scala index d00aa14..60ae437 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/record.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/record.scala @@ -94,7 +94,7 @@ object record { val endOriginalPage = fields .get("endOriginalPage") - .map(_.convertTo[Double]) + .flatMap(_.convertTo[Option[Double]]) Duplicate( startPage = startPage, diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/MedicalRecordFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/MedicalRecordFormatSuite.scala index 9616e70..363e352 100644 --- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/MedicalRecordFormatSuite.scala +++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/MedicalRecordFormatSuite.scala @@ -12,6 +12,80 @@ class MedicalRecordFormatSuite extends FlatSpec with Matchers { import record._ import MedicalRecord._ + "Json format for MedicalRecord.Meta" should "read and write correct JSON" in { + val duplicate1 = Meta.Duplicate( + startPage = 1.0d, + endPage = 2.0d, + startOriginalPage = 1.0d, + endOriginalPage = Some(2.0d) + ) + + val duplicate2 = Meta.Duplicate( + startPage = 1.0d, + endPage = 2.0d, + startOriginalPage = 1.0d, + endOriginalPage = None + ) + + val reorder = Meta.Reorder( + Seq(1, 2) + ) + + val rotation = Meta.Rotation( + Map("item1" -> 1, "item2" -> 2) + ) + + val writtenDuplicateJson1 = + duplicateMetaFormat.write(duplicate1) + + val writtenDuplicateJson2 = + duplicateMetaFormat.write(duplicate2) + + val writtenReorderJson = + reorderMetaFormat.write(reorder) + + val writtenRotationJson = + rotateMetaFormat.write(rotation) + + writtenDuplicateJson1 should be( + """{"startOriginalPage":1.0,"endPage":2.0,"startPage":1.0,"type":"duplicate","endOriginalPage":2.0}""".parseJson) + + writtenDuplicateJson2 should be( + """{"startOriginalPage":1.0,"endPage":2.0,"startPage":1.0,"type":"duplicate","endOriginalPage":null}""".parseJson) + + writtenReorderJson should be( + """{"type":"reorder","items":[1,2]}""".parseJson) + + writtenRotationJson should be( + """{"type":"rotation","items":{"item1":1,"item2":2}}""".parseJson) + + val parsedDuplicateJson1 = + duplicateMetaFormat.read(writtenDuplicateJson1) + + val parsedDuplicateJson2 = + duplicateMetaFormat.read(writtenDuplicateJson2) + + val parsedReorderJson = + reorderMetaFormat.read(writtenReorderJson) + + val parsedRotationJson = + rotateMetaFormat.read(writtenRotationJson) + + duplicate1 should be(parsedDuplicateJson1) + + duplicate2 should be(parsedDuplicateJson2) + + reorder should be(parsedReorderJson) + + rotation should be(parsedRotationJson) + + duplicate1 should be(recordMetaTypeFormat.read(recordMetaTypeFormat.write(duplicate1))) + duplicate2 should be(recordMetaTypeFormat.read(recordMetaTypeFormat.write(duplicate2))) + reorder should be(recordMetaTypeFormat.read(recordMetaTypeFormat.write(reorder))) + rotation should be(recordMetaTypeFormat.read(recordMetaTypeFormat.write(rotation))) + } + + "Json format for MedicalRecord" should "read and write correct JSON" in { val orig = MedicalRecord( id = LongId(1), |