Testing error messages on objects with multiple validations

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:

<"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
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!



Use Array#include?.

assert user.errors.on(:password).include?(@error_messages[:blank])