Specifying Content Type in rspec

skeevis picture skeevis · Oct 27, 2010 · Viewed 18.3k times · Source

I'm trying to build an rspec test that sends JSON (or XML) via POST. However, I can't seem to actually get it working:

    json = {.... data ....}.to_json
    post '/model1.json',json,{'CONTENT_TYPE'=>'application/json'}

and this

    json = {.... data ....}.to_json
    post '/model1.json',json,{'Content-Type'=>'application/json'}

any ideas? THANKS!

Answer

zetetic picture zetetic · Oct 28, 2010

There's a way to do this described in this thread -- it's a hack, but it seems to work:

@request.env["HTTP_ACCEPT"] = "application/json"
json = { ... data ... }.to_json
post :create, :some_param => json