I want to test my controller by sending some JSON:
val fakeRequest = FakeRequest(Helpers.POST, controllers.routes.AuthController.login().url,
FakeHeaders(Seq(HeaderNames.CONTENT_TYPE ->Seq(MimeTypes.JSON))),json)
val result = controllers.AuthController.login()(fakeRequest)
status(result) must equalTo(OK) <== Cannot check requires Future[SimpleResult]
Returned type is:
Iteratee[Array[Byte],SimpleResult]
How can I get Future[SimpleResult] ? When I'm using simple FakeRequest without parameters everything works fine:
val fakeRequest = FakeRequest()
val result = controllers.AuthController.list()(fakeRequest)
status(result) must equalTo(OK)
I found the solution, just use another constructor and method withJsonBody:
FakeRequest(Helpers.POST, controllers.routes.AuthController.login().url).withJsonBody(json).withHeaders(
(HeaderNames.CONTENT_TYPE, MimeTypes.JSON))