validates_timeliness/spec/model_helpers.rb
Adam Meehan fdc3086976 initial Rails 3 rewrite commit
completely rewritten for ActiveModel compatibility
uses ActiveModel EachValidator class as validator base class
simplifies :between by splitting into a :on_or_before and an :on_of_after
only :is_at option tested
2010-08-01 18:35:18 +10:00

28 lines
707 B
Ruby

module ModelHelpers
# Some test helpers from Rails source
def invalid!(attr_name, values, error = nil)
with_each_person_value(attr_name, values) do |record, value|
record.should be_invalid
record.errors[attr_name].size.should >= 1
record.errors[attr_name].first.should == error if error
end
end
def valid!(attr_name, values)
with_each_person_value(attr_name, values) do |record, value|
record.should be_valid
end
end
def with_each_person_value(attr_name, values)
record = Person.new
values = [values] unless values.is_a?(Array)
values.each do |value|
record.send("#{attr_name}=", value)
yield record, value
end
end
end