Как проверить ajax-запрос POST с помощью RSpec?

Я просто хочу проверить ajax-запрос на спецификации контроллера. Код продукта ниже. Я использую Devise для аутентификации.

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, но он возвращает 401. Я предполагаю, что это должно быть потому, что в запросе, который выдает rspec, отсутствует authentication_token или что-то в этом роде. Как я могу заглушить это?

Будем признательны за любую помощь.

19
задан cweston 9 November 2015 в 19:21
поделиться