Module Shoulda::ActiveRecord::Assertions
In: lib/shoulda/active_record/assertions.rb

Methods

Public Instance methods

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

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

Asserts that the given object can be saved

 assert_save User.new(params)

Asserts that the given object is valid

 assert_valid User.new(params)

[Validate]