Sha256: 5b1be474c3fea7d5bd16edfc3cf9d544982ab810c09e869b871066dfd79cc798
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
module RSpec::Rails::Matchers class BeValid < RSpec::Matchers::BuiltIn::Be def initialize(*args) @args = args end # @api private def matches?(actual) @actual = actual actual.valid?(*@args) end # @api private def failure_message message = "expected #{actual.inspect} to be valid" if actual.respond_to?(:errors) errors = if actual.errors.respond_to?(:full_messages) actual.errors.full_messages else actual.errors end message << ", but got errors: #{errors.map(&:to_s).join(', ')}" end message end # @api private def failure_message_when_negated "expected #{actual.inspect} not to be valid" end end # Passes if the given model instance's `valid?` method is true, meaning all # of the `ActiveModel::Validations` passed and no errors exist. If a message # is not given, a default message is shown listing each error. # # @example # # thing = Thing.new # expect(thing).to be_valid def be_valid(*args) BeValid.new(*args) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rspec-rails-3.0.0.rc1 | lib/rspec/rails/matchers/be_valid.rb |
rspec-rails-3.0.0.beta2 | lib/rspec/rails/matchers/be_valid.rb |