NoamB/sorcery

View on GitHub
lib/sorcery/test_helpers/rails/integration.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Sorcery
  module TestHelpers
    module Rails
      module Integration
        
        #Accepts arguments for user to login, route to use and HTTP method
        #Defaults - @user, 'sessions_url' and POST
        def login_user(user = nil, route = nil, http_method = :post)
          user ||= @user
          route ||= sessions_url

          username_attr = user.sorcery_config.username_attribute_names.first
          username = user.send(username_attr)
          page.driver.send(http_method, route, { :"#{username_attr}" => username, :password => 'secret' })
        end

        #Accepts route and HTTP method arguments
        #Default - 'logout_url' and GET
        def logout_user(route = nil, http_method = :get)
          route ||= logout_url
          page.driver.send(http_method, route)
        end
      end
    end
  end
end