diff --git a/test/models/confirmable_test.rb b/test/models/confirmable_test.rb index 79b27c36..5e838926 100644 --- a/test/models/confirmable_test.rb +++ b/test/models/confirmable_test.rb @@ -330,7 +330,7 @@ class ReconfirmableTest < ActiveSupport::TestCase end test 'required_fields should contain the fields that Devise uses' do - assert_equal Devise::Models::Confirmable.required_fields(User).sort, [ + assert_same_content Devise::Models::Confirmable.required_fields(User).sort, [ :confirmation_sent_at, :confirmation_token, :confirmed_at diff --git a/test/models/database_authenticatable_test.rb b/test/models/database_authenticatable_test.rb index 2260d7a2..5379f104 100644 --- a/test/models/database_authenticatable_test.rb +++ b/test/models/database_authenticatable_test.rb @@ -172,7 +172,7 @@ class DatabaseAuthenticatableTest < ActiveSupport::TestCase end test 'required_fiels should be encryptable_password and the email field by default' do - assert_equal Devise::Models::DatabaseAuthenticatable.required_fields(User).sort, [ + assert_same_content Devise::Models::DatabaseAuthenticatable.required_fields(User).sort, [ :email, :encrypted_password ] @@ -180,7 +180,7 @@ class DatabaseAuthenticatableTest < ActiveSupport::TestCase test 'required_fields should be encryptable_password and the login when the login is on authentication_keys' do swap Devise, :authentication_keys => [:login] do - assert_equal Devise::Models::DatabaseAuthenticatable.required_fields(User).sort, [ + assert_same_content Devise::Models::DatabaseAuthenticatable.required_fields(User).sort, [ :encrypted_password, :login ] diff --git a/test/models/encryptable_test.rb b/test/models/encryptable_test.rb index b7b4680a..f5f42779 100644 --- a/test/models/encryptable_test.rb +++ b/test/models/encryptable_test.rb @@ -66,7 +66,7 @@ class EncryptableTest < ActiveSupport::TestCase end test 'required_fields should contain the fields that Devise uses' do - assert_equal Devise::Models::Encryptable.required_fields(User), [ + assert_same_content Devise::Models::Encryptable.required_fields(User), [ :password_salt ] end diff --git a/test/models/lockable_test.rb b/test/models/lockable_test.rb index f519bfd3..6d7980ed 100644 --- a/test/models/lockable_test.rb +++ b/test/models/lockable_test.rb @@ -237,7 +237,7 @@ class LockableTest < ActiveSupport::TestCase end test 'required_fields should contain the fields that Devise uses' do - assert_equal Devise::Models::Lockable.required_fields(User).sort, [ + assert_same_content Devise::Models::Lockable.required_fields(User).sort, [ :failed_attempts, :unlock_at, :unlock_token diff --git a/test/models/recoverable_test.rb b/test/models/recoverable_test.rb index 8be770cb..37f61530 100644 --- a/test/models/recoverable_test.rb +++ b/test/models/recoverable_test.rb @@ -197,7 +197,7 @@ class RecoverableTest < ActiveSupport::TestCase end test 'required_fields should contain the fields that Devise uses' do - assert_equal Devise::Models::Recoverable.required_fields(User), [ + assert_same_content Devise::Models::Recoverable.required_fields(User), [ :reset_password_sent_at, :reset_password_token ] diff --git a/test/models/rememberable_test.rb b/test/models/rememberable_test.rb index 5efdbe33..03e9f7a7 100644 --- a/test/models/rememberable_test.rb +++ b/test/models/rememberable_test.rb @@ -54,7 +54,7 @@ class RememberableTest < ActiveSupport::TestCase resource.forget_me! assert resource.remember_created_at.nil? end - + test 'forget_me should not try to update resource if it has been destroyed' do resource = create_resource resource.destroy @@ -165,4 +165,12 @@ class RememberableTest < ActiveSupport::TestCase assert_not_equal old, resource.remember_created_at end end + + test 'should have the required_fiels array' do + assert_same_content Devise::Models::Rememberable.required_fields(User), [ + :unlock_token, + :locked_at, + :failed_attempts + ] + end end diff --git a/test/models/token_authenticatable_test.rb b/test/models/token_authenticatable_test.rb index ce62bab3..959faae5 100644 --- a/test/models/token_authenticatable_test.rb +++ b/test/models/token_authenticatable_test.rb @@ -48,7 +48,7 @@ class TokenAuthenticatableTest < ActiveSupport::TestCase end test 'required_fields should contain the fields that Devise uses' do - assert_equal Devise::Models::TokenAuthenticatable.required_fields(User).sort, [ + assert_same_content Devise::Models::TokenAuthenticatable.required_fields(User).sort, [ :authentication_token ] end diff --git a/test/models/trackable_test.rb b/test/models/trackable_test.rb index 511d4d93..38570a47 100644 --- a/test/models/trackable_test.rb +++ b/test/models/trackable_test.rb @@ -2,7 +2,7 @@ require 'test_helper' class TrackableTest < ActiveSupport::TestCase test 'required_fields should contain the fields that Devise uses' do - assert_equal Devise::Models::Trackable.required_fields(User).sort, [ + assert_same_content Devise::Models::Trackable.required_fields(User).sort, [ :current_sign_in_at, :current_sign_in_ip, :last_sign_in_at, diff --git a/test/support/assertions.rb b/test/support/assertions.rb index a80d36cf..f48f972c 100644 --- a/test/support/assertions.rb +++ b/test/support/assertions.rb @@ -24,4 +24,12 @@ class ActiveSupport::TestCase def assert_email_not_sent(&block) assert_no_difference('ActionMailer::Base.deliveries.size') { yield } end + + def assert_same_content(expected, result) + assert expected.size == result.size + expected.each do |element| + result.index(element) + assert !element.nil? + end + end end