Permalink
Browse files

added test for #3732

  • Loading branch information...
1 parent 6728191 commit 30b6d4f7f16af78e3b361b8c52fcddca64cf9190 Rick Martinez committed Feb 10, 2012
@@ -10,6 +10,7 @@ class MultipleDbTest < ActiveRecord::TestCase
def setup
@courses = create_fixtures("courses") { Course.retrieve_connection }
+ @colleges = create_fixtures("colleges") { College.retrieve_connection }
@entrants = create_fixtures("entrants")
end
@@ -87,4 +88,15 @@ def test_transactions_across_databases
def test_arel_table_engines
assert_equal Entrant.arel_engine, Bird.arel_engine
end
+
+ def test_associations_should_work_when_model_has_no_connection
+ begin
+ ActiveRecord::Model.remove_connection
+ assert_nothing_raised ActiveRecord::ConnectionNotEstablished do
+ College.first.courses.first
+ end
+ ensure
+ ActiveRecord::Model.establish_connection 'arunit'
+ end
+ end
end
@@ -0,0 +1,3 @@
+FIU:
+ id: 1
+ name: Florida International University
@@ -1,6 +1,7 @@
ruby:
id: 1
name: Ruby Development
+ college: FIU
java:
id: 2
@@ -0,0 +1,3 @@
+class ARUnit2Model < ActiveRecord::Base
+ self.abstract_class = true
+end
@@ -0,0 +1,5 @@
+require_dependency 'models/arunit2_model'
+
+class College < ARUnit2Model
+ has_many :courses
+end
@@ -1,3 +1,6 @@
-class Course < ActiveRecord::Base
+require_dependency 'models/arunit2_model'
+
+class Course < ARUnit2Model
+ belongs_to :college
has_many :entrants
end
@@ -760,4 +760,9 @@ def create_table(*args, &block)
Course.connection.create_table :courses, :force => true do |t|
t.column :name, :string, :null => false
+ t.column :college_id, :integer
+end
+
+College.connection.create_table :colleges, :force => true do |t|
+ t.column :name, :string, :null => false
end
@@ -1,4 +1,5 @@
require 'active_support/logger'
+require_dependency 'models/college'
require_dependency 'models/course'
module ARTest
@@ -15,6 +16,6 @@ def self.connect
ActiveRecord::Model.logger = ActiveSupport::Logger.new("debug.log")
ActiveRecord::Model.configurations = connection_config
ActiveRecord::Model.establish_connection 'arunit'
- Course.establish_connection 'arunit2'
+ ARUnit2Model.establish_connection 'arunit2'
end
end

0 comments on commit 30b6d4f

Please sign in to comment.