I have 2 validations on a single object, like this in my user model:
validates_length_of :password, :within => 6..12 validates_presence_of :password
When I do a unit test to ensure a missing password is responded to correctly, for example:
@error_messages = ActiveRecord::Errors.default_error_messages user = User.new(:name => 'my test user', assert !user.valid? assert_equal @error_messages[:blank], user.errors.on(:password)
I get a message such as:
test_create_user_passwords_missing(UserTest) [test/unit/user_test.rb:143]: <"can't be blank"> expected but was <["is too short (minimum is 6 characters)", "can't be blank"]>.
I have 2 questions:
1. Is there a way of ensuring this test passes, ie. by checking for both validations at once? 2. How can I surpress or change the display of these messages in the views? For example, if I get the "can't be blank" and the "is too short..." message, I would like to display a message saying "Please ensure you enter a password between 6 and 12 characters in length".
All help appreciated!
Thanks
Mark.