Je travaille sur l'écriture des cas de test en utilisant (RSpec
et Capybara
).capybara et RSpec: réponse ajax ne fonctionne pas
capybara (2.7.1) and
rspec (3.4.0)
rspec-core (3.4.4)
rspec-expectations (3.4.0)
rspec-mocks (3.4.1)
rspec-rails (3.4.2)
rspec-support (3.4.1)
Il y a beaucoup de réponses disponibles mais pas de chance !!! Ce sont le résultat que j'ai trouvé: 1, 2 et 3
capybara.rb
Capybara.asset_host = 'http://localhost:3000'
Capybara.default_max_wait_time = 5
session_helpers.rb
module Features
module SessionHelpers
def sign_up_with(email, password, confirmation)
visit new_user_registration_path
fill_in 'Email', with: email
fill_in 'Password', with: password
fill_in 'Password confirmation', :with => confirmation
click_button 'Sign up'
end
def signin(email, password)
visit root_url
find(:xpath, "//a[@class='login_box_btn']").click
fill_in 'login_user_email', with: email
fill_in 'login_user_password', with: password
click_button "LOGIN"
end
end
end
caractéristiques/utilisateurs/sign_in_spec.rb
feature 'Sign-In and Sign-Out', :devise do scenario 'user cannot sign in if not registered' do
signin('[email protected]', 'please123')
expect(page.find(:xpath, "//div[@id='login_message']")).to have_content("Email not found. Please provide a valid email.")
end
En attendant
find(:xpath, "//div[@id='login_message']") => ""
Mais il ne doit pas être vide.
Comme je suis RailsApps/rails-devise pour faire les choses toutes les configurations sont selon ce repo.
S'il vous plaît faire un commentaire si quelqu'un a besoin de plus d'informations à ce sujet.
Après 'visite root_url', mis' save_and_open_page' pour voir ce qui est sur la page. –