class Clearance::BackDoor

Middleware which allows signing in by passing as=USER_ID in a query parameter. If ‘User#to_param` is overriden you may pass a block to override the default user lookup behaviour

Designed to eliminate time in integration tests wasted by visiting and submitting the sign in form.

Configuration:

# config/environments/test.rb
MyRailsApp::Application.configure do
  # ...
  config.middleware.use Clearance::BackDoor
  # ...
end

# or if `User#to_param` is overridden (to `username` for example):

# config/environments/test.rb
MyRailsApp::Application.configure do
  # ...
  config.middleware.use Clearance::BackDoor do |username|
    User.find_by(username: username)
  end
  # ...
end

Usage:

visit new_feedback_path(as: user)