Sha256: c7bbea84f6787367a7f9e29d2770395e8365cfd66f9e04a928abeef5bd043a3a
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 KB
Contents
require File.expand_path(File.dirname(__FILE__) + '/spec_helper') class Beer def self.human_name(*args) "Beer" end def self.table_name "beers" end end class BeerCollection < ActiveCollection::Base end class DunkelBeer def self.human_name(*args) "Dunkel Beer" end def self.table_name "dunkel_beers" end end class DarkBeerCollection < ActiveCollection::Base model "DunkelBeer" end class BrokenCollection < ActiveCollection::Base end describe ActiveCollection do context "(with standard name)" do subject { BeerCollection.new } it "has the correct model_class" do subject.model_class.should == Beer end it "retrieves table_name from member class" do subject.table_name.should == "beers" end it "retrieves human_name from member class and pluralizes" do subject.human_name(:locale => 'en-us').should == "Beers" end end context "(with model)" do subject { DarkBeerCollection.new } it "uses the correct model class" do subject.model_class.should == DunkelBeer end it "doesn't affect other classes" do BeerCollection.new.model_class.should == Beer end it "retrieves table_name from member class" do subject.table_name.should == "dunkel_beers" end it "retrieves human_name from member class and pluralizes" do subject.human_name(:locale => 'en-us').should == "Dunkel Beers" end end context "(broken name)" do subject { BrokenCollection.new } it "raises a useful error when usage is attempted" do message = "No exception raised." begin subject.model_class rescue NameError => e message = e.to_s end message.should =~ /Use 'model "Class"' in the collection to declare the correct model class for BrokenCollection/ message.should =~ /uninitialized constant Broken/ end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_collection-0.2.4 | spec/member_class_spec.rb |