Sha256: aafcf79dfeb1f822e7e0f36a9d760d9ccc777f84972fe5c455db82a0028db204

Contents?: true

Size: 1.37 KB

Versions: 25

Compression:

Stored size: 1.37 KB

Contents

require 'spec_helper'

describe DeviseCasAuthenticatable::SingleSignOut::WardenFailureApp do
  include RSpec::Rails::RequestExampleGroup
  include Capybara::DSL

  describe "A logged in user with a timed out session" do

    before do      
      Devise.cas_base_url = "http://www.example.com/cas_server"
      User.delete_all
      @user = User.create!(:username => "joeuser")
    end

    describe "using the default warden failure app" do

      before do
        sign_into_cas "joeuser", "joepassword"
      end

      it "redirects to cas_login_url when warden is thrown" do
        Devise::FailureApp.any_instance.expects(:redirect_url).returns(cas_login_url)
        Timecop.travel(Devise.timeout_in) do
          visit root_url
        end
        current_url.should == root_url
      end

    end

    describe "using the custom WardenFailureApp" do

      before do

        Devise.warden_config[:failure_app] = DeviseCasAuthenticatable::SingleSignOut::WardenFailureApp
        sign_into_cas "joeuser", "joepassword"
      end

      it "uses the redirect_url from the custom failure class" do
        DeviseCasAuthenticatable::SingleSignOut::WardenFailureApp.any_instance.expects(:redirect_url).returns(destroy_user_session_url)
        Timecop.travel(Devise.timeout_in) do
          visit root_url
        end
        current_url.should match(/#{cas_logout_url}/)
      end

    end

  end

end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
devise_cas_authenticatable-1.10.4 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.10.3 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.10.2 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.10.1 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.10.0 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.9.2 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.9.1 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.9.0 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.8.0 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.7.1 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.7.0 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.6.1 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.6.0 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.5.0 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.4.1 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.4.0 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.3.8 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.3.7 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.3.6 spec/single_sign_out_spec.rb
devise_cas_authenticatable-1.3.5 spec/single_sign_out_spec.rb