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]