Sha256: e5ae9345d16529f92aaae0a3db89e067be14cd50520973e09252bdfb85b4f51b
Contents?: true
Size: 917 Bytes
Versions: 3
Compression:
Stored size: 917 Bytes
Contents
require 'spec_helper' describe Kludge::Many do class Leaf extend ActiveModel::Naming end let(:leaf1) { Leaf.new } let(:leaf2) { Leaf.new } let(:many) { Kludge::Many.new(:leaves, :value => [leaf1, leaf2]) } describe '#valid?' do it 'returns true if all of its values are valid' do Leaf.any_instance.stub(:valid? => true) expect(many).to be_valid end it 'returns false if any of its values are not valid' do leaf1.stub(:valid? => true, :errors => []) leaf2.stub(:valid? => false, :errors => []) expect(many).to_not be_valid end it 'collects the uniq error messages of its values' do errors = ActiveModel::Errors.new(leaf1) errors.add(:name, 'cannot be blank') Leaf.any_instance.stub(:valid? => false, :errors => errors) many.valid? expect(many.errors.full_messages).to eql(['Name cannot be blank']) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
kludge-0.0.3 | spec/kludge/many_spec.rb |
kludge-0.0.2 | spec/kludge/many_spec.rb |
kludge-0.0.1 | spec/kludge/many_spec.rb |