Created
January 27, 2011 08:48
-
-
Save tonini/798253 to your computer and use it in GitHub Desktop.
cucumber backdoor login
This file contains hidden or 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
# Create backdoor method in session controller | |
# Backdoor login for feature testing | |
def backdoor_login | |
# be sure to be logged out | |
logout! | |
# Kill / reset the current session | |
reset_session | |
user = User.find_by_username(params[:username]) | |
UserSession.create(user) | |
render :nothing => true | |
end | |
# Add route for backdoor method | |
# Check the environment and set the backdoor login route | |
if Rails.env == 'cucumber' | |
map.backdoor_login '/backdoor_login/:username', :controller => 'sessions', :action => 'backdoor_login' | |
end | |
# Example feature step how it could looks like (you will change it, plz;) | |
Given /^I am logged in$/ do | |
@user = Factory(:user, :username => 'tester') | |
visit "/backdoor_login/#{@user.username}" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Before
176 scenarios (175 passed)
1438 steps (1437 passed)
9m24.254s
After
176 scenarios (175 passed)
1454 steps (1453 passed)
7m34.488s