module Devise::Test::IntegrationHelpers

Public Class Methods

included(base) click to toggle source
# File lib/devise/test/integration_helpers.rb, line 21
def self.included(base)
  base.class_eval do
    include Warden::Test::Helpers

    setup :setup_integration_for_devise
    teardown :teardown_integration_for_devise
  end
end

Public Instance Methods

sign_in(resource, scope: nil) click to toggle source

Signs in a specific resource, mimicking a successfull sign in operation through +Devise::SessionsController#create+.

  • resource - The resource that should be authenticated

  • scope - An optional Symbol with the scope where the resource

    should be signed in with.
# File lib/devise/test/integration_helpers.rb, line 36
def sign_in(resource, scope: nil)
  scope ||= Devise::Mapping.find_scope!(resource)

  login_as(resource, scope: scope)
end
sign_out(resource_or_scope) click to toggle source

Signs out a specific scope from the session.

  • resource_or_scope - The resource or scope that should be signed out.

# File lib/devise/test/integration_helpers.rb, line 45
def sign_out(resource_or_scope)
  scope = Devise::Mapping.find_scope!(resource_or_scope)

  logout scope
end

Protected Instance Methods

setup_integration_for_devise() click to toggle source
# File lib/devise/test/integration_helpers.rb, line 53
def setup_integration_for_devise
  Warden.test_mode!
end
teardown_integration_for_devise() click to toggle source
# File lib/devise/test/integration_helpers.rb, line 57
def teardown_integration_for_devise
  Warden.test_reset!
end