Dlaczego Capybara odrzuca moją sesję po jednym wydarzeniu?

Testowanie aplikacji szyny, która mabefore_filter :authenticate_user! dla większości kontrolerów nie mogę nakłonić Kapibary do zachowania sesji.

Mam skonfigurowaną kapibarę przy użyciu PhantomJS z poltergeist.

Używam następującego pomocnika:

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

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

Mam następujący plik specyfikacji:

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

Kiedy uruchomię test, jak pokazano tutaj, przejdzie. Jeśli jednak odwołam się do aclick_link na czymś, co wykonuje akcje AJAX lub po prostu próbuję to zrobićvisit '/tasks' dwa razyshould asercja zakończy się niepowodzeniem, ponieważ zostanie przekierowany do strony logowania aplikacji.

Wypróbowałem kilka różnych podejść, w tym konfigurację aCapybara :: Sesja, ale wciąż otrzymuję kody 401 na żądania AJAX i mogę tylko pomyślnie odwiedzić tylko raz na specyfikację.

Co ja robię źle?

questionAnswers(1)

yourAnswerToTheQuestion