diff options
Diffstat (limited to 'spec/controllers/omniauth_callbacks_controller_spec.rb')
-rw-r--r-- | spec/controllers/omniauth_callbacks_controller_spec.rb | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/spec/controllers/omniauth_callbacks_controller_spec.rb b/spec/controllers/omniauth_callbacks_controller_spec.rb index e70b8af2068..9ecef8b7450 100644 --- a/spec/controllers/omniauth_callbacks_controller_spec.rb +++ b/spec/controllers/omniauth_callbacks_controller_spec.rb @@ -222,10 +222,36 @@ RSpec.describe OmniauthCallbacksController, type: :controller do context 'sign up' do include_context 'sign_up' - it 'is allowed' do - post provider + context 'when intent to register is added to omniauth params' do + before do + request.env['omniauth.params'] = { 'intent' => 'register' } + end - expect(request.env['warden']).to be_authenticated + it 'is allowed' do + post provider + + expect(request.env['warden']).to be_authenticated + end + + it 'redirects to welcome path' do + post provider + + expect(response).to redirect_to(users_sign_up_welcome_path) + end + end + + context 'when intent to register is not added to omniauth params' do + it 'is allowed' do + post provider + + expect(request.env['warden']).to be_authenticated + end + + it 'redirects to root path' do + post provider + + expect(response).to redirect_to(root_path) + end end end |