Add spec for multiple database connection

This commit is contained in:
Yuji Hanamura 2018-03-16 00:56:08 +09:00
parent 1faf48b328
commit 3247d09a7b
3 changed files with 35 additions and 0 deletions

View File

@ -18,6 +18,13 @@ module Ransack
expect(subject.object).to be_an ::ActiveRecord::Relation
end
context "multiple database connection" do
it "does not raise error" do
expect { Person.ransack(name_cont: "test") }.not_to raise_error
expect { SubDB::OperationHistory.ransack(people_id_eq: 1) }.not_to raise_error
end
end
context 'with scopes' do
before do
allow(Person)

View File

@ -37,6 +37,7 @@ RSpec.configure do |config|
line = '=' * message.length
puts line, message, line
Schema.create
SubDB::Schema.create
end
config.before(:all) { Sham.reset(:before_all) }

View File

@ -261,3 +261,30 @@ module Schema
)
end
end
module SubDB
class Base < ActiveRecord::Base
self.abstract_class = true
establish_connection(
adapter: 'sqlite3',
database: ':memory:'
)
end
class OperationHistory < Base
end
module Schema
def self.create
s = ::ActiveRecord::Schema.new
s.instance_variable_set(:@connection, SubDB::Base.connection)
s.verbose = false
s.define({}) do
create_table :operation_histories, force: true do |t|
t.string :operation_type
t.integer :people_id
end
end
end
end
end