aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-05 14:56:21 +0700
committerGitHub <noreply@github.com>2017-10-05 14:56:21 +0700
commit1b04669effd79324e52f0dcba0f3714d4a2a957c (patch)
treef790167557d8e3d17224fda4747b4349092a3107 /src/test
parent98dd8b171aee84c88754ea1a8ec20524ad579d7c (diff)
parentc5462a496aeb4d43f023bb427bf12fc87b482b61 (diff)
downloadrest-query-1b04669effd79324e52f0dcba0f3714d4a2a957c.tar.gz
rest-query-1b04669effd79324e52f0dcba0f3714d4a2a957c.tar.bz2
rest-query-1b04669effd79324e52f0dcba0f3714d4a2a957c.zip
Merge pull request #38 from drivergroup/replace-tuplesv0.6.0
Replace tuples in services replies to rich-classes
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponseSuite.scala113
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala5
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientHypothesisFormatSuite.scala20
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientLabelFormatSuite.scala5
4 files changed, 137 insertions, 6 deletions
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponseSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponseSuite.scala
new file mode 100644
index 0000000..52b2324
--- /dev/null
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ListResponseSuite.scala
@@ -0,0 +1,113 @@
+package xyz.driver.pdsuidomain.formats.json.sprayformats
+
+import java.time.LocalDateTime
+import java.util.UUID
+
+import spray.json._
+import org.scalatest.{FlatSpec, Matchers}
+import xyz.driver.pdsuicommon.domain.{LongId, UuidId}
+import xyz.driver.pdsuidomain.entities.MedicalRecord.Status
+import xyz.driver.pdsuidomain.entities._
+import xyz.driver.pdsuidomain.formats.json.sprayformats.record.recordFormat
+
+
+class ListResponseSuite extends FlatSpec with Matchers {
+
+ private val lastUpdate = LocalDateTime.parse("2017-08-10T18:00:00")
+ private val lastUpdateToLocal = "2017-08-10T18:00Z"
+
+ private def metaJsonObjectAsString(meta: ListResponse.Meta) = {
+ import meta._
+ val lastUpdate = meta.lastUpdate
+ .map(_ => s""","lastUpdate":"$lastUpdateToLocal"""")
+ .getOrElse("")
+
+ s"""{"itemsCount":$itemsCount,"pageNumber":$pageNumber,"pageSize":$pageSize$lastUpdate}"""
+ }
+
+
+ "Json format for ListResponse.Meta" should "read and write correct JSON" in {
+ val meta1 =
+ ListResponse.Meta(
+ itemsCount = 5,
+ pageNumber = 6,
+ pageSize = 7,
+ lastUpdate = None
+ )
+
+ val writtenJson1 =
+ ListResponse.listResponseMetaFormat.write(meta1)
+
+ writtenJson1 should be(
+ metaJsonObjectAsString(meta1).parseJson)
+
+ val parsedItem1: ListResponse.Meta =
+ ListResponse.listResponseMetaFormat.read(writtenJson1)
+
+ meta1 shouldBe parsedItem1
+
+
+ val meta2 =
+ ListResponse.Meta(
+ itemsCount = 1,
+ pageNumber = 4,
+ pageSize = 3,
+ lastUpdate = Some(lastUpdate)
+ )
+
+ val writtenJson2 =
+ ListResponse.listResponseMetaFormat.write(meta2)
+
+ writtenJson2 should be(
+ metaJsonObjectAsString(meta2).parseJson)
+
+ val parsedItem2: ListResponse.Meta =
+ ListResponse.listResponseMetaFormat.read(writtenJson2)
+
+ meta2 shouldBe parsedItem2
+ }
+
+
+ "Json format for ListResponse" should "write correct JSON" in {
+
+ val orig = MedicalRecord(
+ id = LongId(1),
+ status = Status.New,
+ assignee = None,
+ previousStatus = None,
+ previousAssignee = None,
+ lastActiveUserId = None,
+ lastUpdate = LocalDateTime.parse("2017-08-10T18:00:00"),
+ physician = Some("physician"),
+ meta = None,
+ predictedMeta = None,
+ predictedDocuments = None,
+ disease = "Breast",
+ requestId = RecordRequestId(UUID.fromString("7b54a75d-4197-4b27-9045-b9b6cb131be9")),
+ caseId = None,
+ patientId = UuidId("748b5884-3528-4cb9-904b-7a8151d6e343")
+ )
+
+ val recordJsonAsString =
+ """{"id":1,"status":"New","assignee":null,"previousStatus":null,"previousAssignee":null,"lastActiveUser":null,
+ "lastUpdate":"2017-08-10T18:00Z","meta":[],"patientId":"748b5884-3528-4cb9-904b-7a8151d6e343","caseId":null,
+ "requestId":"7b54a75d-4197-4b27-9045-b9b6cb131be9","disease":"Breast","physician":"physician"}"""
+
+ val meta =
+ ListResponse.Meta(
+ itemsCount = 5,
+ pageNumber = 6,
+ pageSize = 7,
+ lastUpdate = None
+ )
+
+ val listResponse = ListResponse(Seq(orig), meta)
+
+ val writtenJson = ListResponse.listResponseMetaWriter.write(listResponse)
+ val expectedJson = s"""{"items":[$recordJsonAsString],"meta":${metaJsonObjectAsString(meta)}}"""
+
+ writtenJson should be(
+ expectedJson.parseJson)
+ }
+
+}
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala
index 0f5e4e2..623b3a9 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientCriterionFormatSuite.scala
@@ -6,7 +6,7 @@ import spray.json._
import org.scalatest.{FlatSpec, Matchers}
import xyz.driver.pdsuicommon.domain.{FuzzyValue, LongId, StringId}
import xyz.driver.pdsuidomain.entities.{PatientCriterion, PatientCriterionArm}
-import xyz.driver.pdsuidomain.services.PatientCriterionService.DraftPatientCriterion
+import xyz.driver.pdsuidomain.services.PatientCriterionService.{DraftPatientCriterion, RichPatientCriterion}
class PatientCriterionFormatSuite extends FlatSpec with Matchers {
import patientcriterion._
@@ -31,7 +31,8 @@ class PatientCriterionFormatSuite extends FlatSpec with Matchers {
PatientCriterionArm(patientCriterionId = LongId(1), armId = LongId(31), armName = "arm 31"),
PatientCriterionArm(patientCriterionId = LongId(1), armId = LongId(32), armName = "arm 32")
)
- val writtenJson = patientCriterionWriter.write((orig, LongId(21), arms))
+ val richPatientCriterion = RichPatientCriterion(orig, LongId(21), arms)
+ val writtenJson = patientCriterionWriter.write(richPatientCriterion)
writtenJson should be (
"""{"id":1,"labelId":21,"nctId":"NCT00001","criterionId":101,"criterionText":"criterion text","criterionValue":"Yes",
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientHypothesisFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientHypothesisFormatSuite.scala
index 2999cc1..fbb5213 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientHypothesisFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientHypothesisFormatSuite.scala
@@ -4,11 +4,12 @@ import spray.json._
import org.scalatest.{FlatSpec, Matchers}
import xyz.driver.pdsuicommon.domain.UuidId
import xyz.driver.pdsuidomain.entities.PatientHypothesis
+import xyz.driver.pdsuidomain.services.PatientHypothesisService.RichPatientHypothesis
class PatientHypothesisFormatSuite extends FlatSpec with Matchers {
import patienthypothesis._
- "Json format for PatientHypothesis" should "read and write correct JSON" in {
+ "Json format for RichPatientHypothesis" should "read and write correct JSON" in {
val orig = PatientHypothesis(
id = UuidId("815d9715-1089-4775-b120-3afb983b9a97"),
patientId = UuidId("748b5884-3528-4cb9-904b-7a8151d6e343"),
@@ -16,7 +17,7 @@ class PatientHypothesisFormatSuite extends FlatSpec with Matchers {
rationale = None,
matchedTrials = 1
)
- val writtenJson = patientHypothesisWriter.write((orig, true))
+ val writtenJson = richPatientHypothesisWriter.write(RichPatientHypothesis(orig, isRequired = true))
writtenJson should be (
"""{"id":"815d9715-1089-4775-b120-3afb983b9a97","patientId":"748b5884-3528-4cb9-904b-7a8151d6e343",
@@ -28,4 +29,19 @@ class PatientHypothesisFormatSuite extends FlatSpec with Matchers {
parsedUpdatePatientHypothesis should be(expectedUpdatedPatientHypothesis)
}
+ "Json format for patientHypothesis" should "read and write correct JSON" in {
+ val orig = PatientHypothesis(
+ id = UuidId("815d9715-1089-4775-b120-3afb983b9a97"),
+ patientId = UuidId("748b5884-3528-4cb9-904b-7a8151d6e343"),
+ hypothesisId = UuidId("e76e2fc4-a29c-44fb-a81b-8856d06bb1d4"),
+ rationale = None,
+ matchedTrials = 1
+ )
+ val writtenJson = patientHypothesisWriter.write(orig)
+
+ writtenJson should be (
+ """{"id":"815d9715-1089-4775-b120-3afb983b9a97","patientId":"748b5884-3528-4cb9-904b-7a8151d6e343",
+ "hypothesisId":"e76e2fc4-a29c-44fb-a81b-8856d06bb1d4","rationale":null,"matchedTrials":1}""".parseJson)
+ }
+
}
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientLabelFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientLabelFormatSuite.scala
index e18239c..3ef286d 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientLabelFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/PatientLabelFormatSuite.scala
@@ -6,10 +6,11 @@ import spray.json._
import org.scalatest.{FlatSpec, Matchers}
import xyz.driver.pdsuicommon.domain.{FuzzyValue, LongId, UuidId}
import xyz.driver.pdsuidomain.entities.{PatientLabel, PatientLabelEvidenceView}
+import xyz.driver.pdsuidomain.services.PatientLabelService.RichPatientLabel
class PatientLabelFormatSuite extends FlatSpec with Matchers {
- "Json format for PatientLabel" should "read and write correct JSON" in {
+ "Json format for RichPatientLabel" should "read and write correct JSON" in {
import patientlabel._
val orig = PatientLabel(
id = LongId(1),
@@ -21,7 +22,7 @@ class PatientLabelFormatSuite extends FlatSpec with Matchers {
score = 1,
isImplicitMatch = false
)
- val writtenJson = patientLabelWriter.write((orig, true))
+ val writtenJson = richPatientLabelWriter.write(RichPatientLabel(orig, isVerified = true))
writtenJson should be (
"""{"id":1,"labelId":20,"primaryValue":"Yes","verifiedPrimaryValue":null,"isVisible":true,"isVerified":true,