Sha256: 1be0a1422dca5774f60860ef76a234dc932a5e5e371785aecdda679686361d4a

Contents?: true

Size: 1.36 KB

Versions: 18

Compression:

Stored size: 1.36 KB

Contents

# frozen_string_literal: true

require 'rails_helper'

RSpec.describe ::ApplicationController do
  it 'should have the correct new_session_path for users' do
    expect(controller.new_session_path(:user)).to eq('/g5_auth/users/sign_in')
  end

  it 'should have the correct destroy_session_path for users' do
    expect(controller.destroy_session_path(:user))
      .to eq('/g5_auth/users/sign_out')
  end

  it 'should have the correct g5_authorize_path for users' do
    expect(controller.g5_authorize_path(:user))
      .to eq('/g5_auth/users/auth/g5')
  end

  it 'should have the correct g5_callback_path for users' do
    expect(controller.g5_callback_path(:user))
      .to eq('/g5_auth/users/auth/g5/callback')
  end

  context 'when strict token validation is enabled' do
    before { G5Authenticatable.strict_token_validation = true }

    it_should_behave_like 'a secure controller'
  end

  context 'when strict token validation is disabled' do
    before { G5Authenticatable.strict_token_validation = false }

    it_should_behave_like 'a secure controller'
  end

  it 'should mixin pundit authorization' do
    expect(controller).to respond_to(:authorize)
  end

  it 'should mixin pundit scoping' do
    expect(controller).to respond_to(:policy_scope)
  end

  it 'should mixin authorization error handling' do
    expect(controller).to respond_to(:user_not_authorized)
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
g5_authenticatable-1.1.4 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.4.rc.3 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.4.rc.2 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.4.rc.1 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.2 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.2.pre.1 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.2.rc.5 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.2.rc.4 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.2.rc.3 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.2.rc.2 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.2.rc.1 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.1 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.1.0 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.0.0 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.0.0.pre.4 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.0.0.pre.3 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.0.0.pre.2 spec/controllers/application_controller_spec.rb
g5_authenticatable-1.0.0.pre.1 spec/controllers/application_controller_spec.rb