Sha256: 0767f1e579dac98d6ddcb38bcd101bd9cf276f7db07b56d3e87c0549644e96cb
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
require 'spec_helper' require 'orm_adapter/example_app_shared' if !defined?(ActiveRecord::Base) puts "** require 'active_record' to run the specs in #{__FILE__}" else ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => ":memory:") ActiveRecord::Migration.suppress_messages do ActiveRecord::Schema.define(:version => 0) do create_table(:users, :force => true) {|t| t.string :name; t.belongs_to :site } create_table(:notes, :force => true) {|t| t.belongs_to :owner, :polymorphic => true } end end module ArOrmSpec class User < ActiveRecord::Base belongs_to :site, :class_name => "ArOrmSpec::Site" has_many :notes, :as => :owner end class AbstractNoteClass < ActiveRecord::Base self.abstract_class = true end class Note < AbstractNoteClass belongs_to :owner, :polymorphic => true end # here be the specs! describe '[ActiveRecord orm adapter]' do before do User.delete_all Note.delete_all end describe "the OrmAdapter class" do subject { ActiveRecord::Base::OrmAdapter } specify "#except_classes should return the names of active record session store classes" do subject.except_classes.should == ["CGI::Session::ActiveRecordStore::Session", "ActiveRecord::SessionStore::Session"] end specify "#model_classes should return all of the non abstract model classes (that are not in except_classes)" do subject.model_classes.should == [User, Note] end end it_should_behave_like "example app with orm_adapter" do let(:user_class) { User } let(:note_class) { Note } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
orm_adapter-0.0.2 | spec/orm_adapter/adapters/active_record_spec.rb |