-
Notifications
You must be signed in to change notification settings - Fork 0
devise tips
Jeff Ferber edited this page Mar 10, 2013
·
2 revisions
If you do not yet have a qlive_helper.rb file, create it and and include it in your qlive suites. In this helper, include Devise::TestHelpers and add a login_as method.
For example:
module QliveHelper
protected
include Devise::TestHelpers
def reset_session(rack_request)
@rack_request = rack_request
rack_request.cookies['remember_account_token'] = ''
rack_request.session.each { |key, val| rack_request.session.delete(key)}
end
def login_as(user)
@rack_request.env["devise.mapping"] = Devise.mappings[:user]
sign_in user
end
end note: change the Devise.mappings to reflect the desired user scope. eg, you may want, eg, Devise.mappings[:account]
Use the login_as helper in before_each_suite in your suite.
For example:
class MyPostLoginQlive
include Qlive::Suite
include QliveHelper
def before_each_suite(rack_request)
reset_session(rack_request)
login_as FactoryGirl.create(:user)
end
end