mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 06:41:25 +08:00
Stop using global vars where not needed
Simplify local process site setting provider Stop setting up methods over and over Centralize cache clearing
This commit is contained in:
@ -6,13 +6,73 @@ describe SiteSettingExtension do
|
||||
|
||||
class FakeSettings
|
||||
extend SiteSettingExtension
|
||||
provider = SiteSettings::LocalProcessProvider
|
||||
self.provider = SiteSettings::LocalProcessProvider.new
|
||||
end
|
||||
|
||||
class FakeSettings2
|
||||
extend SiteSettingExtension
|
||||
self.provider = FakeSettings.provider
|
||||
end
|
||||
|
||||
let :settings do
|
||||
FakeSettings
|
||||
end
|
||||
|
||||
let :settings2 do
|
||||
FakeSettings2
|
||||
end
|
||||
|
||||
describe "refresh!" do
|
||||
|
||||
it "will reset to default if provider vanishes" do
|
||||
settings.setting(:hello, 1)
|
||||
settings.hello = 100
|
||||
settings.hello.should == 100
|
||||
|
||||
settings.provider.clear
|
||||
settings.refresh!
|
||||
|
||||
settings.hello.should == 1
|
||||
end
|
||||
|
||||
it "will set to new value if provider changes" do
|
||||
|
||||
settings.setting(:hello, 1)
|
||||
settings.hello = 100
|
||||
settings.hello.should == 100
|
||||
|
||||
settings.provider.save(:hello, 99, SiteSetting.types[:fixnum] )
|
||||
settings.refresh!
|
||||
|
||||
settings.hello.should == 99
|
||||
end
|
||||
|
||||
it "Publishes changes cross sites" do
|
||||
settings.setting(:hello, 1)
|
||||
settings2.setting(:hello, 1)
|
||||
|
||||
settings.hello = 100
|
||||
|
||||
settings2.refresh!
|
||||
settings2.hello.should == 100
|
||||
|
||||
settings.hello = 99
|
||||
|
||||
settings2.refresh!
|
||||
settings2.hello.should == 99
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "multisite" do
|
||||
it "has no db cross talk" do
|
||||
settings.setting(:hello, 1)
|
||||
settings.hello = 100
|
||||
settings.provider.current_site = "boom"
|
||||
settings.hello.should == 1
|
||||
end
|
||||
end
|
||||
|
||||
describe "int setting" do
|
||||
before do
|
||||
settings.setting(:test_setting, 77)
|
||||
|
Reference in New Issue
Block a user