Como faço para testar a solicitação POST ajax com o RSpec?
Eu só quero testar o pedido ajax na especificação do controlador. O código do produto está abaixo. Estou usando o Devise para autenticação.
class NotesController < ApplicationController
def create
if request.xhr?
@note = Note.new(params[:note])
if @note.save
render json: { notice: "success" }
end
end
end
end
E spec está abaixo.
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
Eu espero que o código de resposta seja 200, mas ele retorna 401. Eu acho que deve ser porque o pedido que o rspec envia não possui authenticity_token ou algo assim. Como posso esboçar isso?
Qualquer ajuda seria muito apreciada.