spec/support/requirements.rb in apartment-0.19.0 vs spec/support/requirements.rb in apartment-0.20.0
- old
+ new
@@ -14,11 +14,13 @@
let(:db1){ Apartment::Test.next_db }
let(:db2){ Apartment::Test.next_db }
let(:connection){ ActiveRecord::Base.connection }
before do
+ Apartment::Database.reload!(config.symbolize_keys)
ActiveRecord::Base.establish_connection config
+
subject.create(db1)
subject.create(db2)
end
after do
@@ -27,11 +29,18 @@
# sometimes we manually drop these schemas in testing, don't care if we can't drop, hence rescue
subject.drop(db1) rescue true
subject.drop(db2) rescue true
+ # This is annoying, but for each sublcass that establishes its own connection (ie Company for excluded models for connection based adapters)
+ # a separate connection is maintained (clear_all_connections! doesn't appear to deal with these)
+ # This causes problems because previous tests that established this connection could F up the next test, so we'll just remove them all for each test :(
+ Apartment.excluded_models.each do |m|
+ klass = m.constantize
+ Apartment.connection_class.remove_connection(klass)
+ klass.reset_table_name
+ end
ActiveRecord::Base.clear_all_connections!
- Apartment::Database.reload!
end
end
%w{subject config database_names default_database}.each do |method|
define_method method do
\ No newline at end of file