Module: MiniTest::Assertions
- Defined in:
- lib/minitest-mongoid/has_key.rb,
lib/minitest-mongoid/has_field.rb,
lib/minitest-mongoid/has_validation.rb,
lib/minitest-mongoid/has_association.rb
Instance Method Summary collapse
- #assert_has_association(model_class, type, field_name, options = {}, msg = nil) ⇒ Object
- #assert_has_field(model_class, field_name, options = {}, msg = nil) ⇒ Object
- #assert_has_key(model_class, key, msg = nil) ⇒ Object
- #assert_has_validation(model_class, type, field_name, options = {}, msg = nil) ⇒ Object
- #refute_has_field(model_class, field_name, msg = nil) ⇒ Object
Instance Method Details
#assert_has_association(model_class, type, field_name, options = {}, msg = nil) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/minitest-mongoid/has_association.rb', line 3 def assert_has_association(model_class, type, field_name, = {}, msg = nil) msg = (msg) { msg = "Expected #{model_class.name} to have association '#{type} :#{field_name}'" msg << " with options '#{.inspect}'" unless .empty? msg } assoc = model_class.relations[field_name.to_s] assert (!assoc.nil? && assoc.macro == type.to_sym), msg unless .empty? assert .all? { |k, v| assoc.send(k) == v }, msg end true end |
#assert_has_field(model_class, field_name, options = {}, msg = nil) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/minitest-mongoid/has_field.rb', line 3 def assert_has_field(model_class, field_name, = {}, msg = nil) msg = (msg) { msg = "Expected #{model_class.name} to have field :#{field_name}" msg << " with options '#{.inspect}'" unless .empty? msg } field = model_class.fields[field_name.to_s] assert field, msg unless .empty? assert .all? { |k,v| field.send(k) == v }, msg end true end |
#assert_has_key(model_class, key, msg = nil) ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/minitest-mongoid/has_key.rb', line 3 def assert_has_key(model_class, key, msg = nil) msg = (msg) { "Expected #{model_class.name} to have key :#{key}" } assert model_class.primary_key.include?(key.to_sym), msg true end |
#assert_has_validation(model_class, type, field_name, options = {}, msg = nil) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/minitest-mongoid/has_validation.rb', line 3 def assert_has_validation(model_class, type, field_name, = {}, msg = nil) msg = (msg) { msg = "Expected #{model_class.name} to have validation '#{type} :#{field_name}'" msg << " with options '#{.inspect}'" unless .empty? msg } type = type.to_s.match(/validates_(.*)_of/)[1] validation = model_class._validators[field_name].detect { |v| v.class.name =~ /#{type.camelize}/ } assert validation, msg if validation.class.name =~ %r{Length} && [:within] range = [:within].to_a return assert(validation.[:minimum] == range.first && validation.[:maximum] == range.last), msg end unless .empty? assert .all? { |k,v| validation.[k] == v }, msg end true end |
#refute_has_field(model_class, field_name, msg = nil) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/minitest-mongoid/has_field.rb', line 18 def refute_has_field(model_class, field_name, msg = nil) msg = (msg) { "Expected #{model_class.name} not to have field :#{field_name}" } refute model_class.fields[field_name.to_s], msg true end |