diff options
author | Sergey Nastich <nastich@users.noreply.github.com> | 2018-04-09 16:53:45 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-09 16:53:45 -0700 |
commit | 57ee8fa785c3815e45e473e5625d6e3cb1cd9402 (patch) | |
tree | 1c476db2e6ec44473ebfdea09cb284768549c40f /src/test | |
parent | cc86f8d609969b40793a227b9af4b41a18657dfb (diff) | |
download | driver-core-57ee8fa785c3815e45e473e5625d6e3cb1cd9402.tar.gz driver-core-57ee8fa785c3815e45e473e5625d6e3cb1cd9402.tar.bz2 driver-core-57ee8fa785c3815e45e473e5625d6e3cb1cd9402.zip |
Add convenience methods to work with Tags: `taggedWith` wrapper and a proxy JSON format (#147)
* Add convenience methods to work with Tags: `tagged` wrapper and a proxy JSON format
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/scala/xyz/driver/core/JsonTest.scala | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/scala/xyz/driver/core/JsonTest.scala b/src/test/scala/xyz/driver/core/JsonTest.scala index 7e8dba2..b845a44 100644 --- a/src/test/scala/xyz/driver/core/JsonTest.scala +++ b/src/test/scala/xyz/driver/core/JsonTest.scala @@ -13,6 +13,7 @@ import spray.json._ import xyz.driver.core.TestTypes.CustomGADT import xyz.driver.core.domain.{Email, PhoneNumber} import xyz.driver.core.json.enumeratum.HasJsonFormat +import xyz.driver.core.tagging.Taggable import xyz.driver.core.time.TimeOfDay import scala.collection.immutable.IndexedSeq @@ -31,6 +32,19 @@ class JsonTest extends FlatSpec with Matchers { parsedId should be(referenceId) } + "Json format for @@" should "read and write correct JSON" in { + trait Irrelevant + val reference = Id[JsonTest]("SomeID").tagged[Irrelevant] + + val format = json.taggedFormat[Id[JsonTest], Irrelevant] + + val writtenJson = format.write(reference) + writtenJson shouldBe JsString("SomeID") + + val parsedId: Id[JsonTest] @@ Irrelevant = format.read(writtenJson) + parsedId shouldBe reference + } + "Json format for Name" should "read and write correct JSON" in { val referenceName = Name[String]("Homer") |