Question

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)
Was it helpful?

Solution

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))
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top