Fix failing Mongoid tests

- attr_accessible not set for test user model, making Serializable tests
  inaccurate
- Mongoid does not `include_root_in_json` by default, so enable this for
  consistency with AR tests
- Mark tests pending for Mongoid < 2.1 that fail there due to known bugs
- Add `:mongoid` key for i18n model labels
- Remove outdated shim of `update_attribute` that caused mass assignment
  security to be applied (ugh, that took awhile to find)
This commit is contained in:
Ches Martin
2011-08-05 01:38:42 +07:00
parent 919404df53
commit 55af9f8a40
8 changed files with 29 additions and 18 deletions

View File

@@ -2,13 +2,16 @@ require 'test_helper'
class DeviseHelperTest < ActionController::IntegrationTest
setup do
model_labels = { :models => { :user => "utilisateur" } }
I18n.backend.store_translations :fr,
{
:errors => { :messages => { :not_saved => {
:one => "Erreur lors de l'enregistrement de '%{resource}': 1 erreur.",
:other => "Erreur lors de l'enregistrement de '%{resource}': %{count} erreurs."
} } },
:activerecord => { :models => { :user => "utilisateur" } }
:activerecord => model_labels,
:mongoid => model_labels
}
I18n.locale = 'fr'
@@ -30,6 +33,10 @@ class DeviseHelperTest < ActionController::IntegrationTest
end
test 'test errors.messages.not_saved with multiple errors from i18n' do
# Dirty tracking behavior prevents email validations from being applied:
# https://github.com/mongoid/mongoid/issues/756
(pending "Fails on Mongoid < 2.1"; break) if defined?(Mongoid) && Mongoid::VERSION.to_f < 2.1
get new_user_registration_path
fill_in 'email', :with => 'invalid_email'
@@ -40,4 +47,5 @@ class DeviseHelperTest < ActionController::IntegrationTest
assert_have_selector '#error_explanation'
assert_contain "Erreur lors de l'enregistrement de 'utilisateur': 2 erreurs"
end
end
end