Sha256: ff41f71746774b9626907125d36b167936afabc33d6c4921c12ab3bf9e7efd87

Contents?: true

Size: 1.24 KB

Versions: 17

Compression:

Stored size: 1.24 KB

Contents

require 'spec_helper'

# Normally, we'd do this as a feature spec, but there's
# currently no easy way to get capybara to play along nicely
# with mocks for external redirects (the capybara-mechanize driver
# comes closest, but not quite)
describe 'Signing out' do
  let(:auth_sign_out_url) do
    "#{ENV['G5_AUTH_ENDPOINT']}/users/sign_out?redirect_url=http%3A%2F%2Fwww.example.com%2F"
  end

  describe 'GET /g5_auth/users/sign_out' do
    subject(:sign_out) { get '/g5_auth/users/sign_out' }

    context 'when user is logged in', :auth_request do
      it 'should redirect to the auth server' do
        expect(sign_out).to redirect_to(auth_sign_out_url)
      end

      it 'should not allow the user to access protected pages' do
        sign_out
        expect(get '/protected_page').to redirect_to('/g5_auth/users/sign_in')
      end
    end

    context 'when user is not logged in' do
      it 'should redirect to the auth server' do
        expect(sign_out).to redirect_to(auth_sign_out_url)
      end
    end
  end

  describe 'DELETE /g5_auth/users/sign_out', :auth_request do
    subject(:sign_out) { delete '/g5_auth/users/sign_out' }

    it 'should redirect to GET' do
      expect(sign_out).to redirect_to('/g5_auth/users/sign_out')
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
g5_authenticatable-0.9.1.pre.2 spec/requests/sign_out_spec.rb
g5_authenticatable-0.8.1.pre spec/requests/sign_out_spec.rb
g5_authenticatable-0.8.0 spec/requests/sign_out_spec.rb
g5_authenticatable-0.8.0.beta1 spec/requests/sign_out_spec.rb
g5_authenticatable-0.7.5 spec/requests/sign_out_spec.rb
g5_authenticatable-0.7.5.beta spec/requests/sign_out_spec.rb
g5_authenticatable-0.7.4 spec/requests/sign_out_spec.rb
g5_authenticatable-0.7.4.beta.1 spec/requests/sign_out_spec.rb
g5_authenticatable-0.7.3 spec/requests/sign_out_spec.rb
g5_authenticatable-0.7.2 spec/requests/sign_out_spec.rb
g5_authenticatable-0.7.1 spec/requests/sign_out_spec.rb
g5_authenticatable-0.7.0 spec/requests/sign_out_spec.rb
g5_authenticatable-0.6.0 spec/requests/sign_out_spec.rb
g5_authenticatable-0.5.1 spec/requests/sign_out_spec.rb
g5_authenticatable-0.5.0 spec/requests/sign_out_spec.rb
g5_authenticatable-0.4.2 spec/requests/sign_out_spec.rb
g5_authenticatable-0.4.1 spec/requests/sign_out_spec.rb