Module: AssertValid::Assertions

Defined in:
lib/assert_valid/assertions.rb

Instance Method Summary collapse

Instance Method Details

#assert_invalid(invalid_record, attribute_name = nil, error_kind = nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/assert_valid/assertions.rb', line 3

def assert_invalid(invalid_record, attribute_name = nil, error_kind = nil)
  assert_not(
    invalid_record.valid?,
    "No validation errors raised. Record: #{invalid_record.inspect}"
  )
  if attribute_name
    assert_includes(
      invalid_record.errors.attribute_names,
      attribute_name,
      "Expected record to have a(n) #{attribute_name} error.
   Errors: #{invalid_record.errors.details}
   Record: #{invalid_record.inspect}"
    )
    if error_kind
      assert(
        invalid_record.errors.details[attribute_name].any? do |err_detail|
          err_detail[:error] == error_kind
        end,
        "Expected #{attribute_name} errors to include a #{error_kind} error.
       #{attribute_name} errors were: #{invalid_record.errors.details}"
      )
    end
  end
end

#assert_valid(record) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/assert_valid/assertions.rb', line 28

def assert_valid(record)
  assert(
    record.save,
    "Record could not be saved. Record: #{record.inspect}
   Errors: #{record.errors.details}"
  )
end