Sha256: a107f415e5e1731fd5a49e878de4a5a1223eb1b8fba052ecb8f6f689131bda29
Contents?: true
Size: 1.64 KB
Versions: 8
Compression:
Stored size: 1.64 KB
Contents
module RSpec module Rails if defined?(ActiveRecord) module Extensions module ActiveRecord # Extension to enhance `to have` on AR Model classes # # @example # # ModelClass.should have(:no).records # ModelClass.should have(1).record # ModelClass.should have(n).records if ::ActiveRecord::VERSION::STRING >= '4' def records all.to_a end else def records find(:all) end end alias :record :records end class ::ActiveRecord::Base extend RSpec::Rails::Extensions::ActiveRecord end end end end end if defined?(::ActiveModel) module ::ActiveModel::Validations # Extension to enhance `to have` on AR Model instances. Calls # model.valid? in order to prepare the object's errors object. Accepts # a :context option to specify the validation context. # # You can also use this to specify the content of the error messages. # # @example # # expect(model).to have(:no).errors_on(:attribute) # expect(model).to have(1).error_on(:attribute) # expect(model).to have(n).errors_on(:attribute) # expect(model).to have(n).errors_on(:attribute, :context => :create) # # expect(model.errors_on(:attribute)).to include("can't be blank") def errors_on(attribute, options = {}) valid_args = [options[:context]].compact self.valid?(*valid_args) [self.errors[attribute]].flatten.compact end alias :error_on :errors_on end end
Version data entries
8 entries across 8 versions & 1 rubygems