1
0
Fork 0
mirror of https://github.com/heartcombo/devise.git synced 2022-11-09 12:18:31 -05:00

Add some specs to find_by_class.

This commit is contained in:
José Valim 2009-11-15 15:14:08 -02:00
parent 05fc5712e3
commit 1eb021e590

View file

@ -30,15 +30,31 @@ class MappingTest < ActiveSupport::TestCase
assert_not mapping.allows?(:passwords)
end
test 'return mapping by path' do
test 'find mapping by path' do
assert_nil Devise::Mapping.find_by_path("/foo/bar")
assert_equal Devise.mappings[:user], Devise::Mapping.find_by_path("/users/session")
end
test 'return mapping by customized path' do
test 'find mapping by customized path' do
assert_equal Devise.mappings[:admin], Devise::Mapping.find_by_path("/admin_area/session")
end
test 'find mapping by class' do
assert_nil Devise::Mapping.find_by_class(String)
assert_equal Devise.mappings[:user], Devise::Mapping.find_by_class(User)
end
test 'find mapping by class works with single table inheritance' do
klass = Class.new(User)
assert_equal Devise.mappings[:user], Devise::Mapping.find_by_class(klass)
end
test 'find mapping raises an error for invalid class' do
assert_raise RuntimeError do
Devise::Mapping.find_by_class!(String)
end
end
test 'return default path names' do
mapping = Devise.mappings[:user]
assert_equal 'sign_in', mapping.path_names[:sign_in]