Skip to content

Instantly share code, notes, and snippets.

@jeffrydegrande
Created October 15, 2010 19:27
Show Gist options
  • Save jeffrydegrande/628770 to your computer and use it in GitHub Desktop.
Save jeffrydegrande/628770 to your computer and use it in GitHub Desktop.
module Superfolio
module TestHelpers
include ActiveSupport::Concern
def login!(user = Factory(:user))
@current_user = user
@current_user.confirm! if @current_user.respond_to?(:confirm!)
sign_in @current_user
controller.stub!(:current_user).and_return(@current_user) if defined?(controller)
@current_user
end
end
module IntegrationTestHelpers
def login!(email, password, remember_me = false)
visit sign_in_path
save_and_open_page if remember_me
fill_in "user_email", :with => email
fill_in "user_password", :with => password
check "user_remember_me" if remember_me
click_button "Sign in"
end
def login_and_remember_me!(email, password)
login! email, password, true
end
def logout!
visit sign_out_path
end
def close_the_browser!
session_name = '_surgebase_session' #
driver = Capybara.current_session.driver
case driver
when Capybara::Driver::RackTest
cookie_jar = driver.current_session.instance_variable_get(:@rack_mock_session).cookie_jar
cookie_jar.instance_variable_get(:@cookies).reject do |existing_cookie|
existing_cookie.name.downcase == session_name
end
else
raise "Unsupported driver #{driver.class.name}"
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment