Module: Eac::TestUtils
- Defined in:
- lib/eac/test_utils.rb
Instance Method Summary collapse
-
#all_combinations(attrs) ⇒ Object
Ex.: attrs = 1, b: 2 resulta em [nil, b: nil, 1, b: nil, nil, b: 2, 1, b: 2].
-
#assert_column_changes(ppp, expected_valid_result, changes) ⇒ Object
Verifica, campo por campo, se invalida o registro.
-
#assert_record_errors(record, fields_without_error, fields_with_error) ⇒ Object
Verifica falhas em campos específicos de um record.
-
#valid_invalid_column_values_test(record, column, valid_values, invalid_values) ⇒ Object
Add more helper methods to be used by all tests here…
Instance Method Details
#all_combinations(attrs) ⇒ Object
Ex.: attrs = 1, b: 2 resulta em [nil, b: nil, 1, b: nil, nil, b: 2, 1, b: 2].
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/eac/test_utils.rb', line 39 def all_combinations(attrs) combs = [{}] attrs.each do |attr_name, value| new_comb = [] assert_not value.nil?, "#{attr_name}=#{value}" [nil, value].each do |vv| combs.each do |c| cc = c.dup cc[attr_name] = vv new_comb << cc end end combs = new_comb end combs end |
#assert_column_changes(ppp, expected_valid_result, changes) ⇒ Object
Verifica, campo por campo, se invalida o registro.
27 28 29 30 31 32 33 34 35 |
# File 'lib/eac/test_utils.rb', line 27 def assert_column_changes(ppp, expected_valid_result, changes) changes.each do |k, v| ppp.send("#{k}=", v) assert_equal expected_valid_result, ppp.valid?, "\"#{k}\" change should be " + (expected_valid_result ? 'valid' : 'invalid') assert_not ppp.errors[k].empty? unless expected_valid_result ppp.restore_attributes end end |
#assert_record_errors(record, fields_without_error, fields_with_error) ⇒ Object
Verifica falhas em campos específicos de um record
17 18 19 20 21 22 23 24 |
# File 'lib/eac/test_utils.rb', line 17 def assert_record_errors(record, fields_without_error, fields_with_error) fields_without_error.each do |c| assert record.errors[c].empty?, "Column: #{c} should not have errors (#{record.errors[c]})" end fields_with_error. each do |c| assert_not record.errors[c].empty?, "Column: #{c} should have errors" end end |
#valid_invalid_column_values_test(record, column, valid_values, invalid_values) ⇒ Object
Add more helper methods to be used by all tests here…
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/eac/test_utils.rb', line 5 def valid_invalid_column_values_test(record, column, valid_values, invalid_values) valid_values.each do |v| record.send("#{column}=", v) assert record.valid?, "#{record.errors.}, #{column} = #{v.inspect} should be valid" end invalid_values.each do |v| record.send("#{column}=", v) assert_not record.valid?, "#{column} = #{v.inspect} should be invalid" end end |