Sha256: 657311dc9c90a8144dc976ad1da1710e1f6dfaf38b272bc97153bfec9c7af1e5
Contents?: true
Size: 1.15 KB
Versions: 35
Compression:
Stored size: 1.15 KB
Contents
require 'spec_helper' describe Quby::AttributeValidValidator do class self::Invalid include ActiveModel::Model attr_accessor :required validates :required, presence: true end let(:invalid_model) { self.class::Invalid.new } class self::TestValidatesAttributeClass include ActiveModel::Model attr_accessor :test1, :test2 validates :test1, 'quby/attribute_valid': true validates :test2, 'quby/attribute_valid': true end let(:test_class) do self.class::TestValidatesAttributeClass end it 'runs validations for given attributes and composits their errors on the model' do errors = test_class.new(test1: invalid_model, test2: invalid_model).tap(&:valid?).errors expect(errors.full_messages).to eq(["Test1 Required moet opgegeven zijn", "Test2 Required moet opgegeven zijn"]) end it 'does not add errors when valid' do expect(test_class.new).to be_valid end it 'treats non validatable attributes as invalid' do subject = test_class.new(test1: 1000) expect(subject).to_not be_valid expect(subject.errors.full_messages).to eq(["Test1 does not respond_to valid?"]) end end
Version data entries
35 entries across 35 versions & 1 rubygems