Używam kapibary przez jakiś czas, ale jestem nowy w czarnoksięstwie. Mam bardzo dziwny problem polegający na tym, że jeśli uruchomię specyfikację bez Capybary: js => true funkcjonalność, mogę zalogować się dobrze, ale jeśli spróbuję określić: js => true w specyfikacji, nie można znaleźć nazwy użytkownika/hasła.Sorcery/Capybara: Nie mogę się zalogować za pomocą: js => true
Oto makro uwierzytelniania:
module AuthenticationMacros
def sign_in
user = FactoryGirl.create(:user)
user.activate!
visit new_sessions_path
fill_in 'Email Address', :with => user.email
fill_in 'Password', :with => 'foobar'
click_button 'Sign In'
user
end
end
który jest nazywany w specyfikacji tak:
feature "project setup" do
include AuthenticationMacros
background do
sign_in
end
scenario "creating a project" do
"my spec here"
end
Powyższy kod działa poprawnie. Jednak, jeśli mogę zmienić spec od scenariuszy (w tym przypadku)
scenario "adding questions to a project" do
do
scenario "adding questions to a project", :js => true do
logowania nie powiedzie się z 'Niepoprawna nazwa użytkownika/hasło' kombinacji. Dosłownie jedyną zmianą jest to, że: js => true. Używam domyślnego sterownika javascript kapibara. (Ładuje Firefoksa)
Jakieś pomysły, co tu się dzieje? Jestem kompletnie zakłopotany. Używam Capibara 2.0.1, Sorcery 0.7.13. Na stronie logowania nie ma javascriptu, a save_and_open_page przed kliknięciem "Zaloguj się" potwierdza, że poprawne dane są wprowadzane w polach nazwa użytkownika/hasło. Wszelkie sugestie naprawdę doceniam - nie jestem w stanie.
Ach! Oczywiście! Wielkie dzięki, bardzo doceniane. – PlankTon