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.

questionAnswers(3)

yourAnswerToTheQuestion