Por que a Capivara está descartando minha sessão após um evento?

Testando um aplicativo de trilhos que possuibefore_filter :authenticate_user! para a maioria dos controladores, não consigo capivar para preservar uma sessão.

Eu tenho a Capivara configurada usando o PhantomJS com o poltergeist.

Eu uso o seguinte ajudante:

require 'spec_helper'
include Warden::Test::Helpers

module FeatureHelpers
  def login(user = FactoryGirl.create(:default_user))
    login_as user, scope: :user
    user
  end
end

Eu tenho o seguinte arquivo de especificações:

require 'spec_helper'
include Warden::Test::Helpers

feature 'Leads Data Tasks View' do
  before(:each) do
    @user = login
  end

  after{ Warden.test_reset! }

  context "clicking a task button" do
    scenario "login persists across multuple actions", js: true do
      visit '/tasks'

      page.should have_selector('#parse', count: 1)
    end
  end
end

Quando eu executar o teste como é mostrado aqui, ele passará. No entanto, se eu invoco umclick_link em algo que executa ações do AJAX, ou se eu simplesmente tentar fazervisit '/tasks' duas vezes, oshould a declaração falhará porque serei redirecionado para a página de login do aplicativo.

Eu tentei algumas abordagens diferentes, incluindo a criação de umCapivara :: Sessão, mas eu ainda recebo códigos 401 em pedidos AJAX e só posso visitar com sucesso uma vez por especificação.

O que estou fazendo de errado?

questionAnswers(1)

yourAnswerToTheQuestion