Sha256: a41ee450c47f0e2e6753ce5469d7e3ff87aa43b723b9af6209b0d1cfb3040129
Contents?: true
Size: 1.36 KB
Versions: 5
Compression:
Stored size: 1.36 KB
Contents
module Apartment module Spec module Setup def self.included(base) base.instance_eval do let(:config){ database_config } let(:db1){ Apartment::Test.next_db } let(:db2){ Apartment::Test.next_db } let(:connection){ ActiveRecord::Base.connection } # This around ensures that we run these hooks before and after # any before/after hooks defined in individual tests # Otherwise these actually get run after test defined hooks around(:each) do |example| # before Apartment::Tenant.reload!(config) ActiveRecord::Base.establish_connection config example.run # after Rails.configuration.database_configuration = {} ActiveRecord::Base.clear_all_connections! Apartment.excluded_models.each do |model| klass = model.constantize Apartment.connection_class.remove_connection(klass) klass.clear_all_connections! klass.reset_table_name end Apartment.reset Apartment::Tenant.reload! end end end def database_config db = example.metadata.fetch(:database, :postgresql) Apartment::Test.config['connections'][db.to_s].symbolize_keys end end end end
Version data entries
5 entries across 5 versions & 1 rubygems