RspecでJSONをPOSTするコントローラをテストする
APIのときとかJSONをPOSTするテストはこのようにかけばOK。
post :your_method, { hello: 'world' }.to_json
たぶんRails5ならこんな警告がでる
DEPRECATION WARNING: ActionController::TestCase HTTP request methods will accept only keyword arguments in future Rails versions. Examples: get :show, params: { id: 1 }, session: { user_id: 1 } process :update, method: :post, params: { id: 1 }
body:
をつけてあげればOK。
post :your_method, body: { hello: 'world' }.to_json