b31af34c97
* Prevent different identities from a same SSO provider from accessing a same account * Lock auth provider changes behind `ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH=true` * Rename methods to avoid confusion between OAuth and OmniAuth
22 lines
598 B
Ruby
22 lines
598 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
RSpec.describe Identity do
|
|
describe '.find_for_omniauth' do
|
|
let(:auth) { Fabricate(:identity, user: Fabricate(:user)) }
|
|
|
|
it 'calls .find_or_create_by' do
|
|
allow(described_class).to receive(:find_or_create_by)
|
|
|
|
described_class.find_for_omniauth(auth)
|
|
|
|
expect(described_class).to have_received(:find_or_create_by).with(uid: auth.uid, provider: auth.provider)
|
|
end
|
|
|
|
it 'returns an instance of Identity' do
|
|
expect(described_class.find_for_omniauth(auth)).to be_instance_of described_class
|
|
end
|
|
end
|
|
end
|