Sha256: bdc04743113baac528c1479b4b83017127e9d063b1843714aee4d6d373cc0037
Contents?: true
Size: 1.19 KB
Versions: 3
Compression:
Stored size: 1.19 KB
Contents
require File.expand_path(File.dirname(__FILE__) + '/spec_helper') class ActiveDog < ActiveRecord::Base classy_enum_attr :breed, :suffix => 'type' validates :name, :presence => true, :uniqueness => { :scope => [:breed] } scope :goldens, where(:breed => 'golden_retriever') end describe ActiveDog do context 'valid instance' do subject { ActiveDog.new(:name => 'sirius', :breed => :golden_retriever) } it { should have(:no).errors_on(:breed) } its(:breed_type) { should be_a_golden_retriever } its(:breed) { should == 'golden_retriever' } end context 'invalid instance' do subject { ActiveDog.new(:name => 'sirius', :breed => :golden_retrievers) } it { should have(1).error_on(:breed) } end context 'scopes' do let!(:golden) { ActiveDog.create!(:name => 'Sebastian', :breed => :golden_retriever) } let!(:husky) { ActiveDog.create!(:name => 'Sirius', :breed => :husky) } after { ActiveDog.destroy_all } it 'should know all dogs' do ActiveDog.all.should include(golden, husky) end it 'should have a working scope' do ActiveDog.goldens.should include(golden) ActiveDog.goldens.should_not include(husky) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
classy_enum-2.0.2 | spec/active_record_spec.rb |
classy_enum-2.0.1 | spec/active_record_spec.rb |
classy_enum-1.4.0 | spec/active_record_spec.rb |