Ich verwende Auth0 für die Authentifizierung in meiner Rails App. Ich muss einige Feature-Tests für die Anmeldung und Anmeldung schreiben. Ich kann anscheinend nichts Konkretes finden, wie man das mit Rspec und Capybara macht.Test Auth0 Anmeldung mit RSpec in Rails
Versucht, etwas nach den in diesem gist erläuterten Linien zu tun, aber es funktioniert immer noch nicht. Wenn jemand Erfahrung mit rspec Feature-Tests mit Auth0 hatte, würde ich mich freuen, wenn Sie mich in die richtige Richtung führen würden.
Danke!
Meine Konfiguration
# in spec/support/omniauth_macros.rb
module OmniauthMacros
def mock_auth_hash
# The mock_auth configuration allows you to set per-provider (or default)
# authentication hashes to return during integration testing.
OmniAuth.config.mock_auth[:auth0] = {
'provider' => 'auth0',
'uid' => '123545',
'user_info' => {
'name' => 'mockuser',
'image' => 'mock_user_thumbnail_url'
},
'credentials' => {
'token' => 'mock_token',
'secret' => 'mock_secret'
}
}
end
end
# in spec/requests/spec_helper.rb
RSpec.configure do |config|
# ...
# include our macro
config.include(OmniauthMacros)
end
OmniAuth.config.test_mode = true
Da ist in meinem spec Ich habe
scenario 'Should successfully login user' do
visit login_path
mock_auth_hash
click_link "Sign in"
expect(page).to have_content('Signed in successfully')
expect(page).to have_link("Logout", href: logout_path)
end
Verwenden Sie die gleichen Schritte wie im Text, aber verwenden Sie 'OmniAuth.config.mock_auth [: auth0]'. Wie geschrieben steht diese Frage aus einer Reihe von Gründen außerhalb des Themas - Sie fragen nach einem Tutorial oder einer Off-Site-Referenz, und diese Frage ist sehr offen und kann nicht autoritativ beantwortet werden. – max