Sha256: 53909a10b924505baa5803fee2992b4db028cc07af6764980eb5345a1e9eb17f

Contents?: true

Size: 1.9 KB

Versions: 63

Compression:

Stored size: 1.9 KB

Contents

require 'test_helper'

class OmniAuthConfigTest < ActiveSupport::TestCase
  class MyStrategy
    include OmniAuth::Strategy
  end

  test 'strategy_name returns provider if no options given' do
    config = Devise::OmniAuth::Config.new :facebook, [{}]
    assert_equal :facebook, config.strategy_name
  end

  test 'strategy_name returns provider if no name option are given' do
    config = Devise::OmniAuth::Config.new :facebook, [{ :other => :option }]
    assert_equal :facebook, config.strategy_name
  end

  test 'returns name option when have a name' do
    config = Devise::OmniAuth::Config.new :facebook, [{ :name => :github }]
    assert_equal :github, config.strategy_name
  end

  test "finds contrib strategies" do
    config = Devise::OmniAuth::Config.new :facebook, [{}]
    assert_equal OmniAuth::Strategies::Facebook, config.strategy_class
  end

  test "finds the strategy in OmniAuth's list by name" do
    NamedTestStrategy = Class.new
    NamedTestStrategy.send :include, OmniAuth::Strategy
    NamedTestStrategy.option :name, :the_one

    config = Devise::OmniAuth::Config.new :the_one, [{}]
    assert_equal NamedTestStrategy, config.strategy_class
  end

  test "finds the strategy in OmniAuth's list by class name" do
    UnNamedTestStrategy = Class.new
    UnNamedTestStrategy.send :include, OmniAuth::Strategy

    config = Devise::OmniAuth::Config.new :un_named_test_strategy, [{}]
    assert_equal UnNamedTestStrategy, config.strategy_class
  end

  test 'raises an error if strategy cannot be found' do
    config = Devise::OmniAuth::Config.new :my_other_strategy, [{}]
    assert_raise Devise::OmniAuth::StrategyNotFound do
      config.strategy_class
    end
  end

  test 'allows the user to define a custom require path' do
    config = Devise::OmniAuth::Config.new :my_strategy, [{:strategy_class => MyStrategy}]
    config_class = config.strategy_class
    assert_equal MyStrategy, config_class
  end
end

Version data entries

63 entries across 58 versions & 9 rubygems

Version Path
loyal_devise-2.1.5 test/omniauth/config_test.rb
loyal_devise-2.1.4 test/omniauth/config_test.rb
loyal_devise-2.1.3 test/omniauth/config_test.rb
devise-3.0.0.rc test/omniauth/config_test.rb
devise-2.2.4 test/omniauth/config_test.rb
devise-warbler-2.2.3 test/omniauth/config_test.rb
devise_sociable-0.1.0 vendor/bundle/gems/devise-1.5.4/test/omniauth/config_test.rb
devise-2.2.3 test/omniauth/config_test.rb
devise-2.1.3 test/omniauth/config_test.rb
devise-2.0.5 test/omniauth/config_test.rb
devise-1.5.4 test/omniauth/config_test.rb
devise-2.2.2 test/omniauth/config_test.rb
devise-2.2.1 test/omniauth/config_test.rb
devise-2.2.0 test/omniauth/config_test.rb
sunrise-cms-0.5.0.rc1 vendor/bundle/ruby/1.9.1/gems/devise-2.2.0.rc/test/omniauth/config_test.rb
devise-2.2.0.rc test/omniauth/config_test.rb
af-devise-2.1.2 test/omniauth/config_test.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/devise-2.0.4/test/omniauth/config_test.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/test/omniauth/config_test.rb
sunrise-cms-0.3.2 vendor/bundle/ruby/1.9.1/gems/devise-2.0.4/test/omniauth/config_test.rb