This commit is contained in:
Leo McArdle 2017-09-06 23:15:10 +01:00
parent 8fc2429496
commit f0151cdea6
1 changed files with 43 additions and 0 deletions

43
spec/plugin_spec.rb Normal file
View File

@ -0,0 +1,43 @@
require 'rails_helper'
# This is ugly... but it works!
# Need to load plugin.rb to avoid:
#
# NameError:
# uninitialized constant OAuth2BasicAuthenticator
#
# And need to mock various methods to avoid:
#
# NoMethodError:
# undefined method `enabled_site_setting' for main:Object
#
# etc.
def enabled_site_setting(arg)
end
def auth_provider(arg)
end
def register_css(arg)
end
require_relative '../plugin.rb'
describe OAuth2BasicAuthenticator do
context 'after_authenticate' do
it 'finds user by email' do
authenticator = OAuth2BasicAuthenticator.new('oauth2_basic')
user = Fabricate(:user)
authenticator.expects(:fetch_user_details).returns(email: user.email)
SiteSetting.oauth2_email_verified = true
auth = { 'credentials' => { 'token': 'token' },
'info' => { id: 'id' },
'extra' => {} }
result = authenticator.after_authenticate(auth)
expect(result.user).to eq(user)
end
end
end