Nuke all SiteSetting.stubs from our codebase.

This commit is contained in:
Guo Xiang Tan
2017-07-07 15:09:14 +09:00
parent e7e16de3e0
commit 13f3de4bf6
59 changed files with 257 additions and 262 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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])

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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]

View File

@ -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