mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
9e4c41c903
In the end I think the pain of implementing this seamlessly was not worth the gain provided. The intention was that it would allow plain ruby objects that might not live in your main application to be subclassed and have persistence mixed in. But I've decided that the benefit of doing that is not worth the amount of complexity that the implementation introduced.
33 lines
800 B
Ruby
33 lines
800 B
Ruby
require "cases/helper"
|
|
|
|
class TestRecord < ActiveRecord::Base
|
|
end
|
|
|
|
class TestUnconnectedAdapter < ActiveRecord::TestCase
|
|
self.use_transactional_fixtures = false
|
|
|
|
def setup
|
|
@underlying = ActiveRecord::Base.connection
|
|
@specification = ActiveRecord::Base.remove_connection
|
|
end
|
|
|
|
def teardown
|
|
@underlying = nil
|
|
ActiveRecord::Base.establish_connection(@specification)
|
|
load_schema if in_memory_db?
|
|
end
|
|
|
|
def test_connection_no_longer_established
|
|
assert_raise(ActiveRecord::ConnectionNotEstablished) do
|
|
TestRecord.find(1)
|
|
end
|
|
|
|
assert_raise(ActiveRecord::ConnectionNotEstablished) do
|
|
TestRecord.new.save
|
|
end
|
|
end
|
|
|
|
def test_underlying_adapter_no_longer_active
|
|
assert !@underlying.active?, "Removed adapter should no longer be active"
|
|
end
|
|
end
|