mirror of
https://github.com/discourse/discourse.git
synced 2024-11-30 12:55:31 +08:00
b9f6e6d637
Dynamically adding and removing deprecated or TL-related site settings in specs is leaky
47 lines
1.7 KiB
Ruby
47 lines
1.7 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe TrustLevelSetting do
|
|
describe ".values" do
|
|
after { I18n.reload! }
|
|
|
|
it "returns translated names" do
|
|
TranslationOverride.upsert!(I18n.locale, "js.trust_levels.names.newuser", "New Member")
|
|
|
|
value = TrustLevelSetting.values.first
|
|
expect(value[:name]).to eq(
|
|
I18n.t("js.trust_levels.detailed_name", level: 0, name: "New Member"),
|
|
)
|
|
expect(value[:value]).to eq(0)
|
|
end
|
|
end
|
|
|
|
xdescribe ".valid_value?" do
|
|
let(:deprecated_test) { "#{Rails.root}/spec/fixtures/site_settings/deprecated_test.yml" }
|
|
|
|
before { SiteSetting.load_settings(deprecated_test) }
|
|
|
|
it "allows all trust levels as valid values" do
|
|
expect(TrustLevelSetting.valid_value?(TrustLevel[0])).to eq(true)
|
|
expect(TrustLevelSetting.valid_value?(TrustLevel[1])).to eq(true)
|
|
expect(TrustLevelSetting.valid_value?(TrustLevel[2])).to eq(true)
|
|
expect(TrustLevelSetting.valid_value?(TrustLevel[3])).to eq(true)
|
|
expect(TrustLevelSetting.valid_value?(TrustLevel[4])).to eq(true)
|
|
expect(TrustLevelSetting.valid_value?(20)).to eq(false)
|
|
end
|
|
|
|
it "does not allow 'admin' or 'staff' as valid values" do
|
|
expect(TrustLevelSetting.valid_value?("admin")).to eq(false)
|
|
expect(TrustLevelSetting.valid_value?("staff")).to eq(false)
|
|
end
|
|
|
|
it "does not allow setting 'admin' or 'staff' as valid values" do
|
|
expect { SiteSetting.min_trust_level_to_allow_invite = "admin" }.to raise_error(
|
|
Discourse::InvalidParameters,
|
|
)
|
|
expect { SiteSetting.min_trust_level_to_allow_invite = "staff" }.to raise_error(
|
|
Discourse::InvalidParameters,
|
|
)
|
|
end
|
|
end
|
|
end
|