Jak przetestować żądanie ajax POST za pomocą RSpec?
Chcę tylko przetestować żądanie ajax na specyfikacji kontrolera. Kod produktu znajduje się poniżej. Używam Devise do uwierzytelniania.
class NotesController < ApplicationController
def create
if request.xhr?
@note = Note.new(params[:note])
if @note.save
render json: { notice: "success" }
end
end
end
end
A specyfikacja jest poniżej.
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
Oczekuję, że kod odpowiedzi będzie wynosił 200, ale zwraca 401. Myślę, że musi tak być, ponieważ żądanie, które zgłasza rspec, nie zawiera znacznika autentyczności lub czegoś. Jak mogę to zrobić?
Każda pomoc byłaby bardzo mile widziana.