test/devise_test.rb in devise-1.1.pre4 vs test/devise_test.rb in devise-1.1.rc0
- old
+ new
@@ -1,10 +1,13 @@
-require 'test/test_helper'
+require 'test_helper'
module Devise
- def self.clean_warden_config!
- @warden_config = nil
+ def self.yield_and_restore
+ c, b = @@warden_config, @@warden_config_block
+ yield
+ ensure
+ @@warden_config, @@warden_config_block = c, b
end
end
class DeviseTest < ActiveSupport::TestCase
test 'model options can be configured through Devise' do
@@ -18,43 +21,36 @@
Devise.setup do |config|
assert_equal Devise, config
end
end
- test 'warden manager configuration' do
- config = Warden::Config.new
- Devise.configure_warden(config)
-
- assert_equal Devise::FailureApp, config.failure_app
- assert_equal [:rememberable, :token_authenticatable, :http_authenticatable, :authenticatable], config.default_strategies
- assert_equal :user, config.default_scope
- assert config.silence_missing_strategies?
+ test 'stores warden configuration' do
+ assert_equal Devise::FailureApp, Devise.warden_config.failure_app
+ assert_equal :user, Devise.warden_config.default_scope
end
test 'warden manager user configuration through a block' do
- begin
+ Devise.yield_and_restore do
@executed = false
Devise.warden do |config|
@executed = true
assert_kind_of Warden::Config, config
end
- Devise.configure_warden(Warden::Config.new)
+ Devise.configure_warden!
assert @executed
- ensure
- Devise.clean_warden_config!
end
end
test 'add new module using the helper method' do
assert_nothing_raised(Exception) { Devise.add_module(:coconut) }
assert_equal 1, Devise::ALL.select { |v| v == :coconut }.size
assert_not Devise::STRATEGIES.include?(:coconut)
assert_not defined?(Devise::Models::Coconut)
Devise::ALL.delete(:coconut)
- assert_nothing_raised(Exception) { Devise.add_module(:banana, :strategy => true) }
- assert_equal 1, Devise::STRATEGIES.select { |v| v == :banana }.size
+ assert_nothing_raised(Exception) { Devise.add_module(:banana, :strategy => :fruits) }
+ assert_equal :fruits, Devise::STRATEGIES[:banana]
Devise::ALL.delete(:banana)
Devise::STRATEGIES.delete(:banana)
assert_nothing_raised(Exception) { Devise.add_module(:kivi, :controller => :fruits) }
assert_equal :fruits, Devise::CONTROLLERS[:kivi]