Skip to content

Commit

Permalink
Added specs for ClassyEnumAttributes
Browse files Browse the repository at this point in the history
  • Loading branch information
beerlington committed Sep 30, 2010
1 parent 4e975c5 commit 60d3aa5
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions spec/classy_enum_attributes_spec.rb
@@ -0,0 +1,49 @@
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")

ActiveRecord::Schema.define(:version => 1) do
create_table :dogs, :force => true do |t|
t.string :breed
end

create_table :things, :force => true do |t|
t.string :dog_breed
end
end

module Breed
OPTIONS = [:golden_retriever, :snoop]

module Defaults

end

include ClassyEnum
end

class Dog < ActiveRecord::Base
classy_enum_attr :breed
end

describe "A Dog" do

before(:each) { @dog = Dog.new(:breed => :golden_retriever) }

it "should have an enumerable breed" do
@dog.breed.class.should == BreedGoldenRetriever
end

end

class Thing < ActiveRecord::Base
classy_enum_attr :breed, :dog_breed
end

describe "A Thing" do
before(:each) { @thing = Thing.new(:dog_breed => :snoop) }

it "should have an enumerable dog breed as breed" do
@thing.dog_breed.class.should == BreedSnoop
end
end

0 comments on commit 60d3aa5

Please sign in to comment.