Skip to content

Instantly share code, notes, and snippets.

@caoilte
Created May 18, 2017 09:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save caoilte/2e59d9e88c6deb77c4dfc29e9a84eaed to your computer and use it in GitHub Desktop.
Save caoilte/2e59d9e88c6deb77c4dfc29e9a84eaed to your computer and use it in GitHub Desktop.
unit testing HTTP4s encoders
package httpServices
import io.circe.Printer
import org.http4s.circe.CirceInstances
import org.scalatest.{FlatSpec, Matchers}
import io.circe.generic.auto._
import org.http4s.dsl._
class ExampleEncoderTest extends FlatSpec with Matchers {
case class TestObject(someValue: Int, someOptionalValue:Option[Int])
object Encoders extends CirceInstances {
override protected def defaultPrinter: Printer = Printer.noSpaces.copy(dropNullKeys = true)
implicit val schedulesEncoder = jsonEncoderOf[TestObject]
}
it should "Test the Encoders Object concisely!" in {
import Encoders._
Ok(TestObject(5, None)).as[String].unsafePerformSync shouldEqual
"""{"someValue":5}"""
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment