Last active
August 29, 2015 14:19
-
-
Save jamesmk/77a21f4eabc45df68226 to your computer and use it in GitHub Desktop.
Devise sign in support helper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# provides a `login(user)` method that works for all controller, request and feature specs | |
# requires devise, rspec and capybara | |
# | |
# usage: | |
# def super_admin_login | |
# role = FactoryGirl.create(:role, name: 'super admin') | |
# user = FactoryGirl.create(:user, first_name: 'SuperAdmin', role: role) | |
# login(user) | |
# end | |
module SignInControllerHelper | |
def login(user) | |
sign_in user | |
end | |
end | |
module SignInRequestHelper | |
def login(user) | |
post_via_redirect user_session_path, 'user[email]' => user.email, 'user[password]' => user.password | |
end | |
end | |
module SignInFeatureHelper | |
def login(user) | |
visit new_user_session_path | |
fill_in 'user_email', with: user.email | |
fill_in 'user_password', with: user.password | |
click_button 'Submit' | |
end | |
end | |
RSpec.configure do |config| | |
config.include Devise::TestHelpers, type: :controller | |
config.include SignInControllerHelper, type: :controller | |
config.include SignInRequestHelper, type: :request | |
config.include SignInFeatureHelper, type: :feature | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment