mirror of
https://github.com/discourse/discourse.git
synced 2025-06-02 12:34:34 +08:00
Nuke all SiteSetting.stubs
from our codebase.
This commit is contained in:
@ -128,37 +128,37 @@ describe AdminDashboardData do
|
||||
shared_examples 'problem detection for login providers' do
|
||||
context 'when disabled' do
|
||||
it 'returns nil' do
|
||||
SiteSetting.stubs(enable_setting).returns(false)
|
||||
SiteSetting.public_send("#{enable_setting}=", false)
|
||||
expect(subject).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context 'when enabled' do
|
||||
before do
|
||||
SiteSetting.stubs(enable_setting).returns(true)
|
||||
SiteSetting.public_send("#{enable_setting}=", true)
|
||||
end
|
||||
|
||||
it 'returns nil when key and secret are set' do
|
||||
SiteSetting.stubs(key).returns('12313213')
|
||||
SiteSetting.stubs(secret).returns('12312313123')
|
||||
SiteSetting.public_send("#{key}=", '12313213')
|
||||
SiteSetting.public_send("#{secret}=", '12312313123')
|
||||
expect(subject).to be_nil
|
||||
end
|
||||
|
||||
it 'returns a string when key is not set' do
|
||||
SiteSetting.stubs(key).returns('')
|
||||
SiteSetting.stubs(secret).returns('12312313123')
|
||||
SiteSetting.public_send("#{key}=", '')
|
||||
SiteSetting.public_send("#{secret}=", '12312313123')
|
||||
expect(subject).to_not be_nil
|
||||
end
|
||||
|
||||
it 'returns a string when secret is not set' do
|
||||
SiteSetting.stubs(key).returns('123123')
|
||||
SiteSetting.stubs(secret).returns('')
|
||||
SiteSetting.public_send("#{key}=", '123123')
|
||||
SiteSetting.public_send("#{secret}=", '')
|
||||
expect(subject).to_not be_nil
|
||||
end
|
||||
|
||||
it 'returns a string when key and secret are not set' do
|
||||
SiteSetting.stubs(key).returns('')
|
||||
SiteSetting.stubs(secret).returns('')
|
||||
SiteSetting.public_send("#{key}=", '')
|
||||
SiteSetting.public_send("#{secret}=", '')
|
||||
expect(subject).to_not be_nil
|
||||
end
|
||||
end
|
||||
@ -200,7 +200,7 @@ describe AdminDashboardData do
|
||||
['a', ''].repeated_permutation(keys.size) do |*values|
|
||||
hash = Hash[keys.zip(values)]
|
||||
hash.each do |key,value|
|
||||
SiteSetting.stubs(key).returns(value)
|
||||
SiteSetting.public_send("#{key}=", value)
|
||||
end
|
||||
yield hash
|
||||
end
|
||||
@ -209,8 +209,8 @@ describe AdminDashboardData do
|
||||
context 'when setting is enabled' do
|
||||
let(:setting_enabled) { true }
|
||||
before do
|
||||
SiteSetting.stubs(setting_key).returns(setting_enabled)
|
||||
SiteSetting.stubs(bucket_key).returns(bucket_value)
|
||||
SiteSetting.public_send("#{setting_key}=", setting_enabled)
|
||||
SiteSetting.public_send("#{bucket_key}=", bucket_value)
|
||||
end
|
||||
|
||||
context 'when bucket is blank' do
|
||||
@ -226,7 +226,7 @@ describe AdminDashboardData do
|
||||
context 'when bucket is filled in' do
|
||||
let(:bucket_value) { 'a' }
|
||||
before do
|
||||
SiteSetting.stubs(:s3_use_iam_profile).returns(use_iam_profile)
|
||||
SiteSetting.public_send("s3_use_iam_profile=", use_iam_profile)
|
||||
end
|
||||
|
||||
context 'when using iam profile' do
|
||||
@ -257,7 +257,7 @@ describe AdminDashboardData do
|
||||
|
||||
context 'when setting is not enabled' do
|
||||
before do
|
||||
SiteSetting.stubs(setting_key).returns(false)
|
||||
SiteSetting.public_send("#{setting_key}=", false)
|
||||
end
|
||||
|
||||
it "always returns nil" do
|
||||
|
@ -94,7 +94,7 @@ describe CategoryList do
|
||||
|
||||
context 'fixed_category_positions is enabled' do
|
||||
before do
|
||||
SiteSetting.stubs(:fixed_category_positions).returns(true)
|
||||
SiteSetting.fixed_category_positions = true
|
||||
end
|
||||
|
||||
it "returns categories in specified order" do
|
||||
@ -114,7 +114,7 @@ describe CategoryList do
|
||||
|
||||
context 'fixed_category_positions is disabled' do
|
||||
before do
|
||||
SiteSetting.stubs(:fixed_category_positions).returns(false)
|
||||
SiteSetting.fixed_category_positions = false
|
||||
end
|
||||
|
||||
it "returns categories in order of activity" do
|
||||
|
@ -476,7 +476,7 @@ describe Category do
|
||||
before do
|
||||
post = create_post(user: @category.user, category: @category.id)
|
||||
|
||||
SiteSetting.stubs(:editing_grace_period).returns(1.minute.to_i)
|
||||
SiteSetting.editing_grace_period = 1.minute
|
||||
post.revise(post.user, { raw: 'updated body' }, revised_at: post.updated_at + 2.minutes)
|
||||
|
||||
Category.update_stats
|
||||
|
@ -245,7 +245,7 @@ describe Invite do
|
||||
|
||||
context "invite trust levels" do
|
||||
it "returns the trust level in default_invitee_trust_level" do
|
||||
SiteSetting.stubs(:default_invitee_trust_level).returns(TrustLevel[3])
|
||||
SiteSetting.default_invitee_trust_level = TrustLevel[3]
|
||||
expect(invite.redeem.trust_level).to eq(TrustLevel[3])
|
||||
end
|
||||
end
|
||||
@ -253,7 +253,7 @@ describe Invite do
|
||||
context 'inviting when must_approve_users? is enabled' do
|
||||
it 'correctly activates accounts' do
|
||||
invite.invited_by = Fabricate(:admin)
|
||||
SiteSetting.stubs(:must_approve_users).returns(true)
|
||||
SiteSetting.must_approve_users = true
|
||||
user = invite.redeem
|
||||
expect(user.approved?).to eq(true)
|
||||
end
|
||||
|
@ -319,7 +319,7 @@ describe PostAction do
|
||||
it "returns the correct flag counts" do
|
||||
post = create_post
|
||||
|
||||
SiteSetting.stubs(:flags_required_to_hide_post).returns(7)
|
||||
SiteSetting.flags_required_to_hide_post = 7
|
||||
|
||||
# A post with no flags has 0 for flag counts
|
||||
expect(PostAction.flag_counts_for(post.id)).to eq([0, 0])
|
||||
@ -367,7 +367,7 @@ describe PostAction do
|
||||
post = create_post
|
||||
walterwhite = Fabricate(:walter_white)
|
||||
|
||||
SiteSetting.stubs(:flags_required_to_hide_post).returns(2)
|
||||
SiteSetting.flags_required_to_hide_post = 2
|
||||
Discourse.stubs(:site_contact_user).returns(admin)
|
||||
|
||||
PostAction.act(eviltrout, post, PostActionType.types[:spam])
|
||||
|
@ -204,7 +204,7 @@ describe Post do
|
||||
context "validation" do
|
||||
|
||||
before do
|
||||
SiteSetting.stubs(:newuser_max_images).returns(1)
|
||||
SiteSetting.newuser_max_images = 1
|
||||
end
|
||||
|
||||
context 'newuser' do
|
||||
@ -252,7 +252,7 @@ describe Post do
|
||||
context "validation" do
|
||||
|
||||
before do
|
||||
SiteSetting.stubs(:newuser_max_attachments).returns(1)
|
||||
SiteSetting.newuser_max_attachments = 1
|
||||
end
|
||||
|
||||
context 'newuser' do
|
||||
@ -376,7 +376,7 @@ describe Post do
|
||||
context "validation" do
|
||||
|
||||
before do
|
||||
SiteSetting.stubs(:newuser_max_links).returns(1)
|
||||
SiteSetting.newuser_max_links = 1
|
||||
end
|
||||
|
||||
context 'newuser' do
|
||||
@ -453,8 +453,8 @@ describe Post do
|
||||
|
||||
context 'new user' do
|
||||
before do
|
||||
SiteSetting.stubs(:newuser_max_mentions_per_post).returns(1)
|
||||
SiteSetting.stubs(:max_mentions_per_post).returns(5)
|
||||
SiteSetting.newuser_max_mentions_per_post = 1
|
||||
SiteSetting.max_mentions_per_post = 5
|
||||
end
|
||||
|
||||
it "allows a new user to have newuser_max_mentions_per_post mentions" do
|
||||
@ -468,8 +468,8 @@ describe Post do
|
||||
|
||||
context "not a new user" do
|
||||
before do
|
||||
SiteSetting.stubs(:newuser_max_mentions_per_post).returns(0)
|
||||
SiteSetting.stubs(:max_mentions_per_post).returns(1)
|
||||
SiteSetting.newuser_max_mentions_per_post = 0
|
||||
SiteSetting.max_mentions_per_post = 1
|
||||
end
|
||||
|
||||
it "allows vmax_mentions_per_post mentions" do
|
||||
@ -546,7 +546,7 @@ describe Post do
|
||||
|
||||
describe 'ninja editing & edit windows' do
|
||||
|
||||
before { SiteSetting.stubs(:editing_grace_period).returns(1.minute.to_i) }
|
||||
before { SiteSetting.editing_grace_period = 1.minute.to_i }
|
||||
|
||||
it 'works' do
|
||||
revised_at = post.updated_at + 2.minutes
|
||||
@ -741,7 +741,7 @@ describe Post do
|
||||
let!(:p3) { Fabricate(:post, post_args.merge(score: 5, percent_rank: 0.99)) }
|
||||
|
||||
it "returns the OP and posts above the threshold in summary mode" do
|
||||
SiteSetting.stubs(:summary_percent_filter).returns(66)
|
||||
SiteSetting.summary_percent_filter = 66
|
||||
expect(Post.summary.order(:post_number)).to eq([p1, p2])
|
||||
end
|
||||
|
||||
@ -816,14 +816,14 @@ describe Post do
|
||||
end
|
||||
|
||||
it "when tl3_links_no_follow is false, should not add nofollow for trust level 3 and higher" do
|
||||
SiteSetting.stubs(:tl3_links_no_follow).returns(false)
|
||||
SiteSetting.tl3_links_no_follow = false
|
||||
post.user.trust_level = 3
|
||||
post.save
|
||||
expect(post.cooked).not_to match(/nofollow/)
|
||||
end
|
||||
|
||||
it "when tl3_links_no_follow is true, should add nofollow for trust level 3 and higher" do
|
||||
SiteSetting.stubs(:tl3_links_no_follow).returns(true)
|
||||
SiteSetting.tl3_links_no_follow = true
|
||||
post.user.trust_level = 3
|
||||
post.save
|
||||
expect(post.cooked).to match(/nofollow noopener/)
|
||||
@ -927,7 +927,7 @@ describe Post do
|
||||
end
|
||||
|
||||
describe ".unhide!" do
|
||||
before { SiteSetting.stubs(:unique_posts_mins).returns(5) }
|
||||
before { SiteSetting.unique_posts_mins = 5 }
|
||||
|
||||
it "will unhide the first post & make the topic visible" do
|
||||
hidden_topic = Fabricate(:topic, visible: false)
|
||||
|
@ -246,7 +246,7 @@ describe ScreenedIpAddress do
|
||||
end
|
||||
|
||||
context "use_admin_ip_whitelist is true" do
|
||||
before { SiteSetting.stubs(:use_admin_ip_whitelist).returns(true) }
|
||||
before { SiteSetting.use_admin_ip_whitelist = true }
|
||||
|
||||
it "returns false when user is nil" do
|
||||
expect(described_class.block_admin_login?(nil, '123.12.12.12')).to eq(false)
|
||||
@ -277,7 +277,7 @@ describe ScreenedIpAddress do
|
||||
end
|
||||
|
||||
context "use_admin_ip_whitelist is true" do
|
||||
before { SiteSetting.stubs(:use_admin_ip_whitelist).returns(true) }
|
||||
before { SiteSetting.use_admin_ip_whitelist = true }
|
||||
|
||||
it "returns false when user is nil" do
|
||||
expect(described_class.block_admin_login?(nil, @permitted_ip_address)).to eq(false)
|
||||
|
@ -96,8 +96,8 @@ describe TopicEmbed do
|
||||
|
||||
response = nil
|
||||
|
||||
before(:each) do
|
||||
SiteSetting.stubs(:embed_classname_whitelist).returns 'emoji , foo'
|
||||
before do
|
||||
SiteSetting.embed_classname_whitelist = 'emoji, foo'
|
||||
file.stubs(:read).returns contents
|
||||
TopicEmbed.stubs(:open).returns file
|
||||
response = TopicEmbed.find_remote(url)
|
||||
@ -155,7 +155,7 @@ describe TopicEmbed do
|
||||
response = nil
|
||||
|
||||
before(:each) do
|
||||
SiteSetting.stubs(:embed_classname_whitelist).returns ' '
|
||||
SiteSetting.embed_classname_whitelist = ''
|
||||
file.stubs(:read).returns contents
|
||||
TopicEmbed.stubs(:open).returns file
|
||||
response = TopicEmbed.find_remote(url)
|
||||
|
@ -185,8 +185,8 @@ describe Topic do
|
||||
|
||||
context 'private message title' do
|
||||
before do
|
||||
SiteSetting.stubs(:min_topic_title_length).returns(15)
|
||||
SiteSetting.stubs(:min_private_message_title_length).returns(3)
|
||||
SiteSetting.min_topic_title_length = 15
|
||||
SiteSetting.min_private_message_title_length = 3
|
||||
end
|
||||
|
||||
it 'allows shorter titles' do
|
||||
@ -327,7 +327,7 @@ describe Topic do
|
||||
context 'category validation' do
|
||||
context 'allow_uncategorized_topics is false' do
|
||||
before do
|
||||
SiteSetting.stubs(:allow_uncategorized_topics).returns(false)
|
||||
SiteSetting.allow_uncategorized_topics = false
|
||||
end
|
||||
|
||||
it "does not allow nil category" do
|
||||
@ -348,7 +348,7 @@ describe Topic do
|
||||
|
||||
context 'allow_uncategorized_topics is true' do
|
||||
before do
|
||||
SiteSetting.stubs(:allow_uncategorized_topics).returns(true)
|
||||
SiteSetting.allow_uncategorized_topics = true
|
||||
end
|
||||
|
||||
it "passes for topics with nil category" do
|
||||
@ -538,7 +538,7 @@ describe Topic do
|
||||
context 'rate limits' do
|
||||
|
||||
it "rate limits topic invitations" do
|
||||
SiteSetting.stubs(:max_topic_invitations_per_day).returns(2)
|
||||
SiteSetting.max_topic_invitations_per_day = 2
|
||||
RateLimiter.stubs(:disabled?).returns(false)
|
||||
RateLimiter.clear_all!
|
||||
|
||||
@ -1085,7 +1085,7 @@ describe Topic do
|
||||
|
||||
context 'when allow_uncategorized_topics is false' do
|
||||
before do
|
||||
SiteSetting.stubs(:allow_uncategorized_topics).returns(false)
|
||||
SiteSetting.allow_uncategorized_topics = false
|
||||
end
|
||||
|
||||
let!(:topic) { Fabricate(:topic, category: Fabricate(:category)) }
|
||||
@ -1649,7 +1649,7 @@ describe Topic do
|
||||
end
|
||||
|
||||
describe ".count_exceeds_minimun?" do
|
||||
before { SiteSetting.stubs(:minimum_topics_similar).returns(20) }
|
||||
before { SiteSetting.minimum_topics_similar = 20 }
|
||||
|
||||
context "when Topic count is geater than minimum_topics_similar" do
|
||||
it "should be true" do
|
||||
@ -1718,11 +1718,11 @@ describe Topic do
|
||||
end
|
||||
|
||||
it "doesn't validate the title again if it isn't changing" do
|
||||
SiteSetting.stubs(:min_topic_title_length).returns(5)
|
||||
SiteSetting.min_topic_title_length = 5
|
||||
topic = Fabricate(:topic, title: "Short")
|
||||
expect(topic).to be_valid
|
||||
|
||||
SiteSetting.stubs(:min_topic_title_length).returns(15)
|
||||
SiteSetting.min_topic_title_length = 15
|
||||
topic.last_posted_at = 1.minute.ago
|
||||
expect(topic.save).to eq(true)
|
||||
end
|
||||
|
@ -15,22 +15,22 @@ describe TrustLevel3Requirements do
|
||||
|
||||
describe "requirements" do
|
||||
it "time_period uses site setting" do
|
||||
SiteSetting.stubs(:tl3_time_period).returns(80)
|
||||
SiteSetting.tl3_time_period = 80
|
||||
expect(tl3_requirements.time_period).to eq(80)
|
||||
end
|
||||
|
||||
it "min_days_visited uses site setting" do
|
||||
SiteSetting.stubs(:tl3_requires_days_visited).returns(66)
|
||||
SiteSetting.tl3_requires_days_visited = 66
|
||||
expect(tl3_requirements.min_days_visited).to eq(66)
|
||||
end
|
||||
|
||||
it "min_topics_replied_to uses site setting" do
|
||||
SiteSetting.stubs(:tl3_requires_topics_replied_to).returns(12)
|
||||
SiteSetting.tl3_requires_topics_replied_to = 12
|
||||
expect(tl3_requirements.min_topics_replied_to).to eq(12)
|
||||
end
|
||||
|
||||
it "min_topics_viewed depends on site setting and number of topics created" do
|
||||
SiteSetting.stubs(:tl3_requires_topics_viewed).returns(75)
|
||||
SiteSetting.tl3_requires_topics_viewed = 75
|
||||
described_class.stubs(:num_topics_in_time_period).returns(31)
|
||||
expect(tl3_requirements.min_topics_viewed).to eq(23)
|
||||
end
|
||||
@ -43,7 +43,7 @@ describe TrustLevel3Requirements do
|
||||
end
|
||||
|
||||
it "min_posts_read depends on site setting and number of posts created" do
|
||||
SiteSetting.stubs(:tl3_requires_posts_read).returns(66)
|
||||
SiteSetting.tl3_requires_posts_read = 66
|
||||
described_class.stubs(:num_posts_in_time_period).returns(1234)
|
||||
expect(tl3_requirements.min_posts_read).to eq(814)
|
||||
end
|
||||
@ -56,27 +56,27 @@ describe TrustLevel3Requirements do
|
||||
end
|
||||
|
||||
it "min_topics_viewed_all_time depends on site setting" do
|
||||
SiteSetting.stubs(:tl3_requires_topics_viewed_all_time).returns(75)
|
||||
SiteSetting.tl3_requires_topics_viewed_all_time = 75
|
||||
expect(tl3_requirements.min_topics_viewed_all_time).to eq(75)
|
||||
end
|
||||
|
||||
it "min_posts_read_all_time depends on site setting" do
|
||||
SiteSetting.stubs(:tl3_requires_posts_read_all_time).returns(1001)
|
||||
SiteSetting.tl3_requires_posts_read_all_time = 1001
|
||||
expect(tl3_requirements.min_posts_read_all_time).to eq(1001)
|
||||
end
|
||||
|
||||
it "max_flagged_posts depends on site setting" do
|
||||
SiteSetting.stubs(:tl3_requires_max_flagged).returns(3)
|
||||
SiteSetting.tl3_requires_max_flagged = 3
|
||||
expect(tl3_requirements.max_flagged_posts).to eq(3)
|
||||
end
|
||||
|
||||
it "min_likes_given depends on site setting" do
|
||||
SiteSetting.stubs(:tl3_requires_likes_given).returns(30)
|
||||
SiteSetting.tl3_requires_likes_given = 30
|
||||
expect(tl3_requirements.min_likes_given).to eq(30)
|
||||
end
|
||||
|
||||
it "min_likes_received depends on site setting" do
|
||||
SiteSetting.stubs(:tl3_requires_likes_received).returns(20)
|
||||
SiteSetting.tl3_requires_likes_received = 20
|
||||
expect(tl3_requirements.min_likes_received).to eq(20)
|
||||
expect(tl3_requirements.min_likes_received_days).to eq(7)
|
||||
expect(tl3_requirements.min_likes_received_users).to eq(5)
|
||||
|
@ -29,7 +29,7 @@ describe Upload do
|
||||
context ".create_thumbnail!" do
|
||||
|
||||
it "does not create a thumbnail when disabled" do
|
||||
SiteSetting.stubs(:create_thumbnails?).returns(false)
|
||||
SiteSetting.create_thumbnails = false
|
||||
OptimizedImage.expects(:create_for).never
|
||||
upload.create_thumbnail!(100, 100)
|
||||
end
|
||||
|
@ -143,7 +143,7 @@ describe UserProfile do
|
||||
end
|
||||
|
||||
context 'tl3_links_no_follow is false' do
|
||||
before { SiteSetting.stubs(:tl3_links_no_follow).returns(false) }
|
||||
before { SiteSetting.tl3_links_no_follow = false }
|
||||
|
||||
it 'includes the link without nofollow if the user is trust level 3 or higher' do
|
||||
user.trust_level = TrustLevel[3]
|
||||
@ -169,7 +169,7 @@ describe UserProfile do
|
||||
end
|
||||
|
||||
context 'tl3_links_no_follow is true' do
|
||||
before { SiteSetting.stubs(:tl3_links_no_follow).returns(true) }
|
||||
before { SiteSetting.tl3_links_no_follow = true }
|
||||
|
||||
it 'includes the link with nofollow if the user is trust level 3 or higher' do
|
||||
user.trust_level = TrustLevel[3]
|
||||
|
@ -66,7 +66,7 @@ describe User do
|
||||
let(:admin) { Fabricate(:admin) }
|
||||
|
||||
it "enqueues a 'signup after approval' email if must_approve_users is true" do
|
||||
SiteSetting.stubs(:must_approve_users).returns(true)
|
||||
SiteSetting.must_approve_users = true
|
||||
Jobs.expects(:enqueue).with(
|
||||
:critical_user_email, has_entries(type: :signup_after_approval)
|
||||
)
|
||||
@ -74,7 +74,7 @@ describe User do
|
||||
end
|
||||
|
||||
it "doesn't enqueue a 'signup after approval' email if must_approve_users is false" do
|
||||
SiteSetting.stubs(:must_approve_users).returns(false)
|
||||
SiteSetting.must_approve_users = false
|
||||
Jobs.expects(:enqueue).never
|
||||
user.approve(admin)
|
||||
end
|
||||
@ -648,8 +648,8 @@ describe User do
|
||||
let!(:third_visit_date) { 5.hours.from_now }
|
||||
|
||||
before do
|
||||
SiteSetting.stubs(:active_user_rate_limit_secs).returns(0)
|
||||
SiteSetting.stubs(:previous_visit_timeout_hours).returns(1)
|
||||
SiteSetting.active_user_rate_limit_secs = 0
|
||||
SiteSetting.previous_visit_timeout_hours = 1
|
||||
end
|
||||
|
||||
it "should act correctly" do
|
||||
@ -969,7 +969,7 @@ describe User do
|
||||
|
||||
before do
|
||||
# To make testing easier, say 1 reply is too much
|
||||
SiteSetting.stubs(:newuser_max_replies_per_topic).returns(1)
|
||||
SiteSetting.newuser_max_replies_per_topic = 1
|
||||
UserActionCreator.enable
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user