module G5Authenticatable::Test::FeatureHelpers

Helpers for feature specs

Public Instance Methods

stub_g5_invalid_credentials() click to toggle source
# File lib/g5_authenticatable/test/feature_helpers.rb, line 17
def stub_g5_invalid_credentials
  OmniAuth.config.mock_auth[:g5] = :invalid_credentials
end
stub_g5_omniauth(user, options = {}) click to toggle source
# File lib/g5_authenticatable/test/feature_helpers.rb, line 7
def stub_g5_omniauth(user, options = {})
  OmniAuth.config.mock_auth[:g5] = OmniAuth::AuthHash.new({
    uid: user.uid,
    provider: 'g5',
    info: basic_auth_info(user),
    credentials: { token: user.g5_access_token },
    extra: extra_auth_info(user)
  }.merge(options))
end
visit_path_and_login_with(path, user) click to toggle source
# File lib/g5_authenticatable/test/feature_helpers.rb, line 21
def visit_path_and_login_with(path, user)
  stub_g5_omniauth(user)
  stub_valid_access_token(user.g5_access_token)
  visit path
end

Private Instance Methods

basic_auth_info(user) click to toggle source
# File lib/g5_authenticatable/test/feature_helpers.rb, line 29
def basic_auth_info(user)
  {
    email: user.email,
    first_name: user.first_name,
    last_name: user.last_name,
    phone: user.phone_number
  }
end
extra_auth_info(user) click to toggle source
# File lib/g5_authenticatable/test/feature_helpers.rb, line 38
def extra_auth_info(user)
  {
    title: user.title,
    organization_name: user.organization_name,
    roles: user.roles.collect do |role|
      { name: role.name, type: 'GLOBAL', urn: nil }
    end,
    raw_info: {}
  }
end