mirror of
https://github.com/discourse/discourse.git
synced 2024-12-23 19:03:45 +08:00
66 lines
2.1 KiB
Ruby
66 lines
2.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe "Multisite SiteSettings", type: :multisite do
|
|
before do
|
|
@original_provider = SiteSetting.provider
|
|
SiteSetting.provider = SiteSettings::DbProvider.new(SiteSetting)
|
|
end
|
|
|
|
after { SiteSetting.provider = @original_provider }
|
|
|
|
describe "#default_locale" do
|
|
it "should return the right locale" do
|
|
test_multisite_connection("default") { expect(SiteSetting.default_locale).to eq("en") }
|
|
|
|
test_multisite_connection("second") do
|
|
SiteSetting.default_locale = "zh_TW"
|
|
|
|
expect(SiteSetting.default_locale).to eq("zh_TW")
|
|
end
|
|
|
|
test_multisite_connection("default") do
|
|
expect(SiteSetting.default_locale).to eq("en")
|
|
|
|
SiteSetting.default_locale = "ja"
|
|
|
|
expect(SiteSetting.default_locale).to eq("ja")
|
|
end
|
|
|
|
test_multisite_connection("second") { expect(SiteSetting.default_locale).to eq("zh_TW") }
|
|
end
|
|
end
|
|
|
|
describe "transforming defaults from plugin" do
|
|
class TestFilterPlugInstance < Plugin::Instance
|
|
end
|
|
|
|
let(:plugin_instance) { TestFilterPlugInstance.new }
|
|
|
|
it "can change defaults" do
|
|
test_multisite_connection("default") { expect(SiteSetting.title).to eq("Discourse") }
|
|
|
|
plugin_instance.register_modifier(:site_setting_defaults) do |defaults|
|
|
defaults.merge({ title: "title for #{RailsMultisite::ConnectionManagement.current_db}" })
|
|
end
|
|
|
|
test_multisite_connection("default") do
|
|
SiteSetting.refresh!
|
|
expect(SiteSetting.title).to eq("title for default")
|
|
SiteSetting.title = "overridden default title"
|
|
expect(SiteSetting.title).to eq("overridden default title")
|
|
end
|
|
|
|
test_multisite_connection("second") do
|
|
SiteSetting.refresh!
|
|
expect(SiteSetting.title).to eq("title for second")
|
|
SiteSetting.title = "overridden second title"
|
|
expect(SiteSetting.title).to eq("overridden second title")
|
|
end
|
|
ensure
|
|
DiscoursePluginRegistry.reset!
|
|
test_multisite_connection("default") { SiteSetting.refresh! }
|
|
test_multisite_connection("second") { SiteSetting.refresh! }
|
|
end
|
|
end
|
|
end
|