tylerhunt/remockable

View on GitHub
lib/remockable/active_model/validate_confirmation_of.rb

Summary

Maintainability
A
1 hr
Test Coverage
RSpec::Matchers.define(:validate_confirmation_of) do
  include Remockable::ActiveModel::Helpers

  type :confirmation

  valid_options %w(if message on unless)

  match do |actual|
    validator = validator_for(attribute)
    validator && options_match(validator) && conditionals_match(validator)
  end

  failure_message do |actual|
    "Expected #{subject.class.name} to #{description}"
  end

  failure_message_when_negated do |actual|
    "Did not expect #{subject.class.name} to #{description}"
  end

  description do
    with = " with #{options.inspect}" if options.any?
    "validate #{type} of #{attribute}#{with}"
  end
end