Sha256: 6a4a025f21e6a02e305a91ed07d29683e6a0d524028fe6d29c0df98b7861e36d

Contents?: true

Size: 849 Bytes

Versions: 3

Compression:

Stored size: 849 Bytes

Contents

# frozen_string_literal: true

module UserOmniauthMethods
  def stub_g5_omniauth(user, options = {})
    OmniAuth.config.mock_auth[:g5] = OmniAuth::AuthHash.new({
      uid: user.uid,
      provider: 'g5',
      info: { email: user.email },
      credentials: { token: user.g5_access_token }
    }.merge(options))
  end

  def stub_g5_invalid_credentials
    OmniAuth.config.mock_auth[:g5] = :invalid_credentials
  end

  def visit_path_and_login_with(path, user)
    stub_g5_omniauth(user)
    visit path
  end
end

RSpec.configure do |config|
  config.before(:all) { OmniAuth.config.logger = Logger.new('/dev/null') }

  config.before(:each) do
    OmniAuth.config.test_mode = true
    OmniAuth.config.mock_auth[:g5] = nil
  end
  config.after(:each) { OmniAuth.config.test_mode = false }

  config.include UserOmniauthMethods, type: :feature
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
devise_g5_authenticatable-1.0.1.rc.1 spec/support/user_omniauth_methods.rb
devise_g5_authenticatable-1.0.0 spec/support/user_omniauth_methods.rb
devise_g5_authenticatable-1.0.0.pre.1 spec/support/user_omniauth_methods.rb