Fix OmniAuth tests (#29201)

glitch-soc/security/915cd36ac11fc9d6fd221d68ed5b0749b88c734
Claire 2024-02-14 15:57:49 +01:00
parent 53d4437360
commit 4084b738a5
1 changed files with 26 additions and 9 deletions

View File

@ -39,6 +39,13 @@ describe 'OmniAuth callbacks' do
Fabricate(:user, email: 'user@host.example') Fabricate(:user, email: 'user@host.example')
end end
context 'when ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH is set to true' do
around do |example|
ClimateControl.modify ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH: 'true' do
example.run
end
end
it 'matches the existing user, creates an identity, and redirects to root path' do it 'matches the existing user, creates an identity, and redirects to root path' do
expect { subject } expect { subject }
.to not_change(User, :count) .to not_change(User, :count)
@ -52,6 +59,16 @@ describe 'OmniAuth callbacks' do
end end
end end
context 'when ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH is not set to true' do
it 'does not match the existing user or create an identity' do
expect { subject }
.to not_change(User, :count)
.and not_change(Identity, :count)
.and not_change(LoginActivity, :count)
end
end
end
context 'with a matching user and a matching identity' do context 'with a matching user and a matching identity' do
before do before do
user = Fabricate(:user, email: 'user@host.example') user = Fabricate(:user, email: 'user@host.example')