Asserts that an Active Record model invalidates the passed value by making sure the error_message_to_expect is contained within the list of errors for that attribute.
assert_bad_value(User.new, :email, "invalid") assert_bad_value(User.new, :ssn, "123", /length/)
If a class is passed as the first argument, a new object will be instantiated before the assertion. If an instance variable exists with the same name as the class (underscored), that object will be used instead.
assert_bad_value(User, :email, "invalid") product = Product.new(:tangible => true) assert_bad_value(product, :price, "0")
# File lib/shoulda/active_record/assertions.rb, line 59 59: def assert_bad_value(object_or_klass, attribute, value, 60: error_message_to_expect = nil) 61: object = get_instance_of(object_or_klass) 62: matcher = allow_value(value). 63: for(attribute). 64: with_message(error_message_to_expect) 65: assert_rejects(matcher, object) 66: end
Asserts that an Active Record model validates with the passed value by making sure the error_message_to_avoid is not contained within the list of errors for that attribute.
assert_good_value(User.new, :email, "user@example.com") assert_good_value(User.new, :ssn, "123456789", /length/)
If a class is passed as the first argument, a new object will be instantiated before the assertion. If an instance variable exists with the same name as the class (underscored), that object will be used instead.
assert_good_value(User, :email, "user@example.com") product = Product.new(:tangible => false) assert_good_value(product, :price, "0")
# File lib/shoulda/active_record/assertions.rb, line 35 35: def assert_good_value(object_or_klass, attribute, value, error_message_to_avoid = nil) 36: object = get_instance_of(object_or_klass) 37: matcher = allow_value(value). 38: for(attribute). 39: with_message(error_message_to_avoid) 40: assert_accepts(matcher, object) 41: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.