Play 2 - Scala FakeRequest withJsonBody

后端 未结 3 838
半阙折子戏
半阙折子戏 2020-12-28 16:51

I am trying to test an action on a controller.

It\'s a rather simple action, it takes JSON and returns JSON:

  def createGroup = Action(parse.json) {         


        
3条回答
  •  渐次进展
    2020-12-28 17:18

    I am using Play 2.1. @EtienneK method is not working for me. This is how I use:

    "update profile with new desc" in {
                running(FakeApplication()) {
            var member1 = new MemberInfo("testapi2@test.com")
            member1.save()
            var mId = member1.getMemberIdString()
    
            val json = Json.obj(
                "description" -> JsString("this is test desc")
                     )
            val req = FakeRequest(
                      method = "POST",
                      uri = routes.ProfileApiV1.update(mId).url,
                      headers = FakeHeaders(
                        Seq("Content-type"->Seq("application/json"))
                      ),
                      body =  json
                    )
                    val Some(result) = route(req.withCookies(Cookie("myMemberId", mId)))
            status(result) must equalTo(OK)
            contentType(result) must beSome("application/json")
            charset(result) must beSome("utf-8")
            contentAsString(result) must contain("ok")
    
            member1 = MemberInfo.getMemberInfoByMemberId(mId)
            member1.delete()
            }
        }
    

提交回复
热议问题