コントローラー仕様でajax要求をテストしたいだけです。製品コードは以下の通りです。私はDeviseを認証に使用しています。RSpecでajax POSTリクエストをテストするにはどうすればよいですか?
class NotesController < ApplicationController
def create
if request.xhr?
@note = Note.new(params[:note])
if @note.save
render json: { notice: "success" }
end
end
end
end
仕様は以下のとおりです。
describe NotesController do
before do
user = FactoryGirl.create(:user)
user.confirm!
sign_in user
end
it "has a 200 status code" do
xhr :post, :create, note: { title: "foo", body: "bar" }, format: :json
response.code.should == "200"
end
end
私は、応答コードが200であることを期待し、それは私がRSpecのスローリクエストがauthenticity_tokenか何かが欠けているので、それがなければなりません推測401を返します。どのように私はそれをスタブすることができますか?
任意の助けいただければ幸いです。
ありがとうございます。私はこのヒントを試しましたが、それは何の変化もありませんでした。そして、私は少しでもcsrfがオフに確認することを不安に感じる。 – morygonzalez
-1 CSRF保護を無効にすることは、この問題の解決策ではありません。 –