Module: TestBattery::TestCase
- Defined in:
- lib/test_battery.rb
Instance Method Summary collapse
-
#assert_exception_raised(exception_class = nil, error_message = nil, &block) ⇒ Object
Example usage: assert_exception_raised do …
-
#assert_has_errors_on(record, fields) ⇒ Object
Example usage: assert_has_errors_on( @record, [:field_1, :field_2] ) assert_has_errors_on( @record, => ‘Message1’, :field_2 => ‘Message 2’ ).
Instance Method Details
#assert_exception_raised(exception_class = nil, error_message = nil, &block) ⇒ Object
Example usage:
assert_exception_raised do ... end
assert_exception_raised ActiveRecord::RecordInvalid do ... end
assert_exception_raised Plugin::Error, 'error_message' do ... end
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/test_battery.rb', line 24 def assert_exception_raised(exception_class = nil, = nil, &block) exception_raised = nil yield rescue => exception_raised ensure if exception_raised if exception_class assert_equal exception_class, exception_raised.class, exception_raised.to_s else assert true end assert_equal , exception_raised.to_s if else flunk 'Exception was not raised' end end |
#assert_has_errors_on(record, fields) ⇒ Object
Example usage:
assert_has_errors_on( @record, [:field_1, :field_2] )
assert_has_errors_on( @record, {:field_1 => 'Message1', :field_2 => 'Message 2'} )
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/test_battery.rb', line 8 def assert_has_errors_on(record, fields) fields = [fields].flatten unless fields.is_a?(Hash) fields.each do |field, | assert record.errors.has_key?(field.to_sym), "#{record.class.name} should error on invalid #{field}" if && record.errors[field].is_a?(Array) && !.is_a?(Array) assert_not_nil record.errors[field].index() elsif assert_equal , record.errors[field] end end end |