Module: Warden::Test::Helpers
- Defined in:
- lib/warden/test/helpers.rb
Overview
A collection of test helpers for testing full stack rack applications using Warden These provide the ability to login and logout on any given request Note: During the teardown phase of your specs you should include: Warden.test_reset!
Class Method Summary collapse
Instance Method Summary collapse
-
#login_as(user, opts = {}) ⇒ Object
A helper method that will perform a login of a user in warden for the next request.
-
#logout(*scopes) ⇒ Object
Logs out a user from the session.
Class Method Details
.included(_base) ⇒ Object
10 11 12 |
# File 'lib/warden/test/helpers.rb', line 10 def self.included(_base) ::Warden.test_mode! end |
Instance Method Details
#login_as(user, opts = {}) ⇒ Object
A helper method that will perform a login of a user in warden for the next request. Provide it the same options as you would to Warden::Proxy#set_user
18 19 20 21 22 23 |
# File 'lib/warden/test/helpers.rb', line 18 def login_as(user, opts = {}) Warden.on_next_request do |proxy| opts[:event] ||= :authentication proxy.set_user(user, opts) end end |
#logout(*scopes) ⇒ Object
Logs out a user from the session. Without arguments, all users will be logged out Provide a list of scopes to only log out users with that scope.
30 31 32 33 34 |
# File 'lib/warden/test/helpers.rb', line 30 def logout(*scopes) Warden.on_next_request do |proxy| proxy.logout(*scopes) end end |