Skip to content

Instantly share code, notes, and snippets.

@tonini
Created January 27, 2011 08:48
Show Gist options
  • Save tonini/798253 to your computer and use it in GitHub Desktop.
Save tonini/798253 to your computer and use it in GitHub Desktop.
cucumber backdoor login
# 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
@senny
Copy link

senny commented Jan 27, 2011

Before

176 scenarios (175 passed)
1438 steps (1437 passed)
9m24.254s

After

176 scenarios (175 passed)
1454 steps (1453 passed)
7m34.488s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment