Comment puis-je tester ajax requête POST avec RSpec?

Je veux juste tester une requête ajax sur le contrôleur de spec. Le produit, le code est ci-dessous. Je suis l'aide de Concevoir pour l'authentification.

class NotesController < ApplicationController
  def create
    if request.xhr?
      @note = Note.new(params[:note])
      if @note.save
        render json: { notice: "success" }
      end
    end
  end
end

Et spec est ci-dessous.

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

J'attends la réponse de code à 200, mais il renvoie 401. J'imagine que ça doit être parce que la demande qui rspec jette manque authenticity_token ou quelque chose. Comment puis-je frappé?

Toute aide serait grandement appréciée.

InformationsquelleAutor morygonzalez | 2012-06-20