require 'rails_helper' RSpec.describe 'Multisite SiteSettings' do let(:conn) { RailsMultisite::ConnectionManagement } before do @original_provider = SiteSetting.provider SiteSetting.provider = SiteSettings::DbProvider.new(SiteSetting) conn.config_filename = "spec/fixtures/multisite/two_dbs.yml" conn.load_settings! conn.remove_class_variable(:@@current_db) end after do ['default', 'second'].each do |db| conn.with_connection(db) { SiteSetting.where(name: 'default_locale').destroy_all } end conn.clear_settings! [:@@db_spec_cache, :@@host_spec_cache, :@@default_spec].each do |class_variable| conn.remove_class_variable(class_variable) end conn.set_current_db SiteSetting.provider = @original_provider end describe '#default_locale' do it 'should return the right locale' do conn.with_connection('default') do expect(SiteSetting.default_locale).to eq('en') end conn.with_connection('second') do SiteSetting.default_locale = 'zh_TW' expect(SiteSetting.default_locale).to eq('zh_TW') end conn.with_connection('default') do expect(SiteSetting.default_locale).to eq('en') SiteSetting.default_locale = 'ja' expect(SiteSetting.default_locale).to eq('ja') end conn.with_connection('second') do expect(SiteSetting.default_locale).to eq('zh_TW') end end end end