class Minitest::Checks::Models

Public Class Methods

call_class_methods(methods) click to toggle source

call class methods; don’t check result

# File lib/mimoco.rb, line 71
def self.call_class_methods(methods)
  methods.each { |meth|
    check_no_nil @klass.send(meth), "<#{meth}> should return no nil"
  }
end
call_public_methods(methods) click to toggle source

call_public_methods; don’t check result

# File lib/mimoco.rb, line 85
def self.call_public_methods(methods)
  klass_params = @klass_hash[:valid] || @klass_hash[:valids]&.first
  raise ValidMissingError unless klass_params

  methods.each { |meth|
    row, _msg = @klass.create(klass_params)
    check_no_nil row.send(meth), "<#{meth}> should return no nil"
  }
end
class_methods(expected) click to toggle source
# File lib/mimoco.rb, line 60
def self.class_methods(expected)
  cls = @klass.methods(false).sort
  cls.delete_if { |x| /^_/ =~ x }
  cls.delete_if { |x| /^(after|before|find_by)_/ =~ x }
  cls -= %i[column_headers attribute_type_decorations
    attributes_to_define_after_schema_loads
    default_scope_override defined_enums]
  check_equal expected, cls
end
create_model(params) click to toggle source
# File lib/mimoco.rb, line 105
def self.create_model(params)
  row = @klass.create(params)
  [row, "#{@klass}: #{params}"]
end
invalid(params) click to toggle source
# File lib/mimoco.rb, line 52
def self.invalid(params)
  invalids([params])
end
invalids(arr) click to toggle source
# File lib/mimoco.rb, line 56
def self.invalids(arr)
  arr.each { |params| one_invalid(params) }
end
one_invalid(params) click to toggle source
# File lib/mimoco.rb, line 100
def self.one_invalid(params)
  row, msg = create_model(params)
  @minitest.refute row.valid?, "#{msg} expected to be invalid"
end
one_valid(params) click to toggle source
# File lib/mimoco.rb, line 95
def self.one_valid(params)
  row, msg = create_model(params)
  @minitest.assert row.valid?, "#{msg} #{row.errors.full_messages}"
end
public_methods(expected) click to toggle source
# File lib/mimoco.rb, line 77
def self.public_methods(expected)
  cls = @klass.public_instance_methods(false).sort
  cls -= %i[autosave_associated_records_for_projects
    validate_associated_records_for_projects]
  check_equal expected, cls
end
valid(params) click to toggle source
# File lib/mimoco.rb, line 44
def self.valid(params)
  valids([params])
end
valids(arr) click to toggle source
# File lib/mimoco.rb, line 48
def self.valids(arr)
  arr.each { |params| one_valid(params) }
end