From 13f3de4bf673802eb8ec595d36587b4524773209 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Fri, 7 Jul 2017 15:09:14 +0900 Subject: [PATCH] Nuke all `SiteSetting.stubs` from our codebase. --- .../composer_messages_finder_spec.rb | 26 +++--- spec/components/cooked_post_processor_spec.rb | 19 +++-- spec/components/discourse_spec.rb | 8 +- spec/components/email/receiver_spec.rb | 4 +- spec/components/email/styles_spec.rb | 4 +- spec/components/file_store/s3_store_spec.rb | 8 +- spec/components/guardian_spec.rb | 82 ++++++++++--------- spec/components/image_sizer_spec.rb | 4 +- .../onebox/engine/flash_video_onebox_spec.rb | 6 +- spec/components/post_destroyer_spec.rb | 10 +-- spec/components/post_revisor_spec.rb | 14 ++-- spec/components/pretty_text_spec.rb | 4 +- spec/components/rtl_spec.rb | 6 +- spec/components/search_spec.rb | 2 +- spec/components/spam_handler_spec.rb | 16 ++-- .../suggested_topics_builder_spec.rb | 2 +- spec/components/text_sentinel_spec.rb | 16 ++-- spec/components/topic_creator_spec.rb | 6 +- .../validators/password_validator_spec.rb | 10 +-- .../validators/post_validator_spec.rb | 6 +- .../topic_title_length_validator_spec.rb | 2 +- .../user_full_name_validator_spec.rb | 4 +- .../admin/dashboard_controller_spec.rb | 4 +- .../screened_ip_addresses_controller_spec.rb | 4 +- .../admin/site_settings_controller_spec.rb | 9 +- .../application_controller_spec.rb | 19 +++-- spec/controllers/invites_controller_spec.rb | 2 +- spec/controllers/list_controller_spec.rb | 2 +- spec/controllers/posts_controller_spec.rb | 4 +- spec/controllers/session_controller_spec.rb | 12 +-- .../similar_topics_controller_spec.rb | 7 +- spec/controllers/static_controller_spec.rb | 10 +-- spec/controllers/topics_controller_spec.rb | 2 +- spec/helpers/application_helper_spec.rb | 4 +- spec/jobs/enqueue_digest_emails_spec.rb | 7 +- spec/jobs/pending_flags_reminder_spec.rb | 2 +- .../pending_queued_posts_reminder_spec.rb | 2 +- spec/jobs/pending_users_reminder_spec.rb | 2 +- spec/jobs/user_email_spec.rb | 4 +- spec/models/admin_dashboard_data_spec.rb | 30 +++---- spec/models/category_list_spec.rb | 4 +- spec/models/category_spec.rb | 2 +- spec/models/invite_spec.rb | 4 +- spec/models/post_action_spec.rb | 4 +- spec/models/post_spec.rb | 24 +++--- spec/models/screened_ip_address_spec.rb | 4 +- spec/models/topic_embed_spec.rb | 6 +- spec/models/topic_spec.rb | 18 ++-- spec/models/trust_level3_requirements_spec.rb | 20 ++--- spec/models/upload_spec.rb | 2 +- spec/models/user_profile_spec.rb | 4 +- spec/models/user_spec.rb | 10 +-- .../serializers/basic_post_serializer_spec.rb | 4 +- spec/serializers/post_serializer_spec.rb | 4 +- spec/serializers/user_serializer_spec.rb | 4 +- spec/services/auto_block_spec.rb | 4 +- spec/services/flag_sockpuppets_spec.rb | 4 +- spec/services/post_action_notifier_spec.rb | 2 +- .../gems/discourse_imgur/spec/imgur_spec.rb | 10 +-- 59 files changed, 257 insertions(+), 262 deletions(-) diff --git a/spec/components/composer_messages_finder_spec.rb b/spec/components/composer_messages_finder_spec.rb index adf6f81db2e..8e328a3bb76 100644 --- a/spec/components/composer_messages_finder_spec.rb +++ b/spec/components/composer_messages_finder_spec.rb @@ -28,7 +28,7 @@ describe ComposerMessagesFinder do let(:finder) { ComposerMessagesFinder.new(user, composer_action: 'createTopic') } before do - SiteSetting.stubs(:educate_until_posts).returns(10) + SiteSetting.educate_until_posts = 10 end it "returns a message for a user who has not posted any topics" do @@ -66,7 +66,7 @@ describe ComposerMessagesFinder do let(:finder) { ComposerMessagesFinder.new(user, composer_action: 'reply') } before do - SiteSetting.stubs(:educate_until_posts).returns(10) + SiteSetting.educate_until_posts = 10 end it "returns a message for a user who has not posted any topics" do @@ -152,13 +152,13 @@ describe ComposerMessagesFinder do let(:topic) { Fabricate(:topic) } before do - SiteSetting.stubs(:educate_until_posts).returns(10) + SiteSetting.educate_until_posts = 10 user.stubs(:post_count).returns(11) Fabricate(:post, topic: topic, user: user) Fabricate(:post, topic: topic, user: user) - SiteSetting.stubs(:sequential_replies_threshold).returns(2) + SiteSetting.sequential_replies_threshold = 2 end it "does not give a message for new topics" do @@ -189,7 +189,7 @@ describe ComposerMessagesFinder do end it "doesn't notify a user who has less than the `sequential_replies_threshold` threshold posts" do - SiteSetting.stubs(:sequential_replies_threshold).returns(5) + SiteSetting.sequential_replies_threshold = 5 expect(finder.check_sequential_replies).to be_blank end @@ -224,16 +224,16 @@ describe ComposerMessagesFinder do let(:topic) { Fabricate(:topic) } before do - SiteSetting.stubs(:educate_until_posts).returns(10) + SiteSetting.educate_until_posts = 10 user.stubs(:post_count).returns(11) - SiteSetting.stubs(:summary_posts_required).returns(1) + SiteSetting.summary_posts_required = 1 Fabricate(:post, topic: topic, user: user) Fabricate(:post, topic: topic, user: user) Fabricate(:post, topic: topic, user: Fabricate(:user)) - SiteSetting.stubs(:sequential_replies_threshold).returns(2) + SiteSetting.sequential_replies_threshold = 2 end it "does not give a message for new topics" do @@ -254,7 +254,7 @@ describe ComposerMessagesFinder do end it "does not notify if the `summary_posts_required` has not been reached" do - SiteSetting.stubs(:summary_posts_required).returns(100) + SiteSetting.summary_posts_required = 100 expect(finder.check_dominating_topic).to be_blank end @@ -269,12 +269,12 @@ describe ComposerMessagesFinder do end it "doesn't notify a user if the topic has less than `summary_posts_required` posts" do - SiteSetting.stubs(:summary_posts_required).returns(5) + SiteSetting.summary_posts_required = 5 expect(finder.check_dominating_topic).to be_blank end it "doesn't notify a user if they've posted less than the percentage" do - SiteSetting.stubs(:dominating_topic_minimum_percent).returns(100) + SiteSetting.dominating_topic_minimum_percent = 100 expect(finder.check_dominating_topic).to be_blank end @@ -433,7 +433,7 @@ describe ComposerMessagesFinder do context "a reply" do context "warn_reviving_old_topic_age is 180 days" do before do - SiteSetting.stubs(:warn_reviving_old_topic_age).returns(180) + SiteSetting.warn_reviving_old_topic_age = 180 end it "does not notify if last post is recent" do @@ -449,7 +449,7 @@ describe ComposerMessagesFinder do context "warn_reviving_old_topic_age is 0" do before do - SiteSetting.stubs(:warn_reviving_old_topic_age).returns(0) + SiteSetting.warn_reviving_old_topic_age = 0 end it "does not notify if last post is new" do diff --git a/spec/components/cooked_post_processor_spec.rb b/spec/components/cooked_post_processor_spec.rb index f578aecfc07..9767681376d 100644 --- a/spec/components/cooked_post_processor_spec.rb +++ b/spec/components/cooked_post_processor_spec.rb @@ -298,21 +298,21 @@ describe CookedPostProcessor do it "resizes when only width is specified" do img = { 'src' => 'http://foo.bar/image3.png', 'width' => 100} - SiteSetting.stubs(:crawl_images?).returns(true) + SiteSetting.crawl_images = true FastImage.expects(:size).returns([200, 400]) expect(cpp.get_size_from_attributes(img)).to eq([100, 200]) end it "resizes when only height is specified" do img = { 'src' => 'http://foo.bar/image3.png', 'height' => 100} - SiteSetting.stubs(:crawl_images?).returns(true) + SiteSetting.crawl_images = true FastImage.expects(:size).returns([100, 300]) expect(cpp.get_size_from_attributes(img)).to eq([33, 100]) end it "doesn't raise an error with a weird url" do img = { 'src' => nil, 'height' => 100} - SiteSetting.stubs(:crawl_images?).returns(true) + SiteSetting.crawl_images = true expect(cpp.get_size_from_attributes(img)).to be_nil end @@ -346,7 +346,7 @@ describe CookedPostProcessor do end it "caches the results" do - SiteSetting.stubs(:crawl_images?).returns(true) + SiteSetting.crawl_images = true FastImage.expects(:size).returns([200, 400]) cpp.get_size("http://foo.bar/image3.png") expect(cpp.get_size("http://foo.bar/image3.png")).to eq([200, 400]) @@ -354,7 +354,9 @@ describe CookedPostProcessor do context "when crawl_images is disabled" do - before { SiteSetting.stubs(:crawl_images?).returns(false) } + before do + SiteSetting.crawl_images = false + end it "doesn't call FastImage" do FastImage.expects(:size).never @@ -525,14 +527,15 @@ describe CookedPostProcessor do before { cpp.stubs(:available_disk_space).returns(90) } it "does not run when download_remote_images_to_local is disabled" do - SiteSetting.stubs(:download_remote_images_to_local).returns(false) + SiteSetting.download_remote_images_to_local = false Jobs.expects(:cancel_scheduled_job).never cpp.pull_hotlinked_images end context "when download_remote_images_to_local? is enabled" do - - before { SiteSetting.stubs(:download_remote_images_to_local).returns(true) } + before do + SiteSetting.download_remote_images_to_local = true + end it "does not run when there is not enough disk space" do cpp.expects(:disable_if_low_on_disk_space).returns(true) diff --git a/spec/components/discourse_spec.rb b/spec/components/discourse_spec.rb index b1b21cfd5c9..3b458e3131a 100644 --- a/spec/components/discourse_spec.rb +++ b/spec/components/discourse_spec.rb @@ -53,12 +53,7 @@ describe Discourse do let!(:another_admin) { Fabricate(:admin) } it 'returns the user specified by the site setting site_contact_username' do - SiteSetting.stubs(:site_contact_username).returns(another_admin.username) - expect(Discourse.site_contact_user).to eq(another_admin) - end - - it 'returns the user specified by the site setting site_contact_username regardless of its case' do - SiteSetting.stubs(:site_contact_username).returns(another_admin.username.upcase) + SiteSetting.site_contact_username = another_admin.username expect(Discourse.site_contact_user).to eq(another_admin) end @@ -211,4 +206,3 @@ describe Discourse do end end - diff --git a/spec/components/email/receiver_spec.rb b/spec/components/email/receiver_spec.rb index f93ec28b67a..c49c98a81e4 100644 --- a/spec/components/email/receiver_spec.rb +++ b/spec/components/email/receiver_spec.rb @@ -254,7 +254,7 @@ describe Email::Receiver do end it 'does nothing unless unsubscribe_via_email is turned on' do - SiteSetting.stubs("unsubscribe_via_email").returns(false) + SiteSetting.unsubscribe_via_email = false before_deliveries = ActionMailer::Base.deliveries.count expect { process("unsubscribe_subject") }.to raise_error { Email::Receiver::BadDestinationAddress } expect(before_deliveries).to eq ActionMailer::Base.deliveries.count @@ -272,7 +272,7 @@ describe Email::Receiver do end it 'does nothing unless unsubscribe_via_email is turned on' do - SiteSetting.stubs(:unsubscribe_via_email).returns(false) + SiteSetting.unsubscribe_via_email = false before_deliveries = ActionMailer::Base.deliveries.count expect { process("unsubscribe_body") }.to raise_error { Email::Receiver::InvalidPost } expect(before_deliveries).to eq ActionMailer::Base.deliveries.count diff --git a/spec/components/email/styles_spec.rb b/spec/components/email/styles_spec.rb index e8f7b594e97..977085709b0 100644 --- a/spec/components/email/styles_spec.rb +++ b/spec/components/email/styles_spec.rb @@ -117,7 +117,7 @@ describe Email::Styles do context "without https" do before do - SiteSetting.stubs(:force_https).returns(false) + SiteSetting.force_https = false end it "rewrites the href to have http" do @@ -138,7 +138,7 @@ describe Email::Styles do context "with https" do before do - SiteSetting.stubs(:force_https).returns(true) + SiteSetting.force_https = true end it "rewrites the forum URL to have https" do diff --git a/spec/components/file_store/s3_store_spec.rb b/spec/components/file_store/s3_store_spec.rb index 921e852edf3..eed2ae48110 100644 --- a/spec/components/file_store/s3_store_spec.rb +++ b/spec/components/file_store/s3_store_spec.rb @@ -209,13 +209,13 @@ describe FileStore::S3Store do end it "uses the proper endpoint" do - SiteSetting.stubs(:s3_region).returns("us-east-1") + SiteSetting.s3_region = "us-east-1" expect(FileStore::S3Store.new(s3_helper).absolute_base_url).to eq("//s3-upload-bucket.s3.amazonaws.com") - SiteSetting.stubs(:s3_region).returns("us-east-2") - expect(FileStore::S3Store.new(s3_helper).absolute_base_url).to eq("//s3-upload-bucket.s3-us-east-2.amazonaws.com") + SiteSetting.s3_region = "us-west-2" + expect(FileStore::S3Store.new(s3_helper).absolute_base_url).to eq("//s3-upload-bucket.s3-us-west-2.amazonaws.com") - SiteSetting.stubs(:s3_region).returns("cn-north-1") + SiteSetting.s3_region = "cn-north-1" expect(FileStore::S3Store.new(s3_helper).absolute_base_url).to eq("//s3-upload-bucket.s3.cn-north-1.amazonaws.com.cn") end diff --git a/spec/components/guardian_spec.rb b/spec/components/guardian_spec.rb index aef7aea7b45..27497e4434a 100644 --- a/spec/components/guardian_spec.rb +++ b/spec/components/guardian_spec.rb @@ -1,4 +1,5 @@ -require 'rails_helper' +require 'rails_helper'; + require 'guardian' require_dependency 'post_destroyer' @@ -322,7 +323,7 @@ describe Guardian do end it 'returns false when the local logins are disabled' do - SiteSetting.stubs(:enable_local_logins).returns(false) + SiteSetting.enable_local_logins = false expect(Guardian.new(user).can_invite_to_forum?).to be_falsey expect(Guardian.new(moderator).can_invite_to_forum?).to be_falsey end @@ -536,7 +537,7 @@ describe Guardian do it "restricts static doc topics" do tos_topic = Fabricate(:topic, user: Discourse.system_user) - SiteSetting.stubs(:tos_topic_id).returns(tos_topic.id) + SiteSetting.tos_topic_id = tos_topic.id expect(Guardian.new(build(:user)).can_edit?(tos_topic)).to be_falsey expect(Guardian.new(moderator).can_edit?(tos_topic)).to be_falsey @@ -609,7 +610,7 @@ describe Guardian do let(:post_revision) { Fabricate(:post_revision) } context 'edit_history_visible_to_public is true' do - before { SiteSetting.stubs(:edit_history_visible_to_public).returns(true) } + before { SiteSetting.edit_history_visible_to_public = true } it 'is false for nil' do expect(Guardian.new.can_see?(nil)).to be_falsey @@ -625,7 +626,7 @@ describe Guardian do end context 'edit_history_visible_to_public is false' do - before { SiteSetting.stubs(:edit_history_visible_to_public).returns(false) } + before { SiteSetting.edit_history_visible_to_public = false } it 'is true for staff' do expect(Guardian.new(Fabricate(:admin)).can_see?(post_revision)).to be_truthy @@ -685,12 +686,12 @@ describe Guardian do end it "is false if user has not met minimum trust level" do - SiteSetting.stubs(:min_trust_to_create_topic).returns(1) + SiteSetting.min_trust_to_create_topic = 1 expect(Guardian.new(build(:user, trust_level: 0)).can_create?(Topic,Fabricate(:category))).to be_falsey end it "is true if user has met or exceeded the minimum trust level" do - SiteSetting.stubs(:min_trust_to_create_topic).returns(1) + SiteSetting.min_trust_to_create_topic = 1 expect(Guardian.new(build(:user, trust_level: 1)).can_create?(Topic,Fabricate(:category))).to be_truthy expect(Guardian.new(build(:user, trust_level: 2)).can_create?(Topic,Fabricate(:category))).to be_truthy expect(Guardian.new(build(:admin, trust_level: 0)).can_create?(Topic,Fabricate(:category))).to be_truthy @@ -1094,7 +1095,7 @@ describe Guardian do end it 'returns false when another user has too low trust level to edit wiki post' do - SiteSetting.stubs(:min_trust_to_edit_wiki_post).returns(2) + SiteSetting.min_trust_to_edit_wiki_post = 2 post.wiki = true coding_horror.trust_level = 1 @@ -1102,7 +1103,7 @@ describe Guardian do end it 'returns true when another user has adequate trust level to edit wiki post' do - SiteSetting.stubs(:min_trust_to_edit_wiki_post).returns(2) + SiteSetting.min_trust_to_edit_wiki_post = 2 post.wiki = true coding_horror.trust_level = 2 @@ -1110,7 +1111,7 @@ describe Guardian do end it 'returns true for post author even when he has too low trust level to edit wiki post' do - SiteSetting.stubs(:min_trust_to_edit_wiki_post).returns(2) + SiteSetting.min_trust_to_edit_wiki_post = 2 post.wiki = true post.user.trust_level = 1 @@ -1119,8 +1120,9 @@ describe Guardian do context 'post is older than post_edit_time_limit' do let(:old_post) { build(:post, topic: topic, user: topic.user, created_at: 6.minutes.ago) } + before do - SiteSetting.stubs(:post_edit_time_limit).returns(5) + SiteSetting.post_edit_time_limit = 5 end it 'returns false to the author of the post' do @@ -1148,7 +1150,7 @@ describe Guardian do context "first post of a static page doc" do let!(:tos_topic) { Fabricate(:topic, user: Discourse.system_user) } let!(:tos_first_post) { build(:post, topic: tos_topic, user: tos_topic.user) } - before { SiteSetting.stubs(:tos_topic_id).returns(tos_topic.id) } + before { SiteSetting.tos_topic_id = tos_topic.id } it "restricts static doc posts" do expect(Guardian.new(build(:user)).can_edit?(tos_first_post)).to be_falsey @@ -1246,7 +1248,7 @@ describe Guardian do context 'very old' do let(:old_topic) { build(:topic, user: user, created_at: 6.minutes.ago) } - before { SiteSetting.stubs(:post_edit_time_limit).returns(5) } + before { SiteSetting.post_edit_time_limit = 5 } it 'returns true as a moderator' do expect(Guardian.new(moderator).can_edit?(old_topic)).to be_truthy @@ -1433,7 +1435,7 @@ describe Guardian do it 'returns false for static doc topics' do tos_topic = Fabricate(:topic, user: Discourse.system_user) - SiteSetting.stubs(:tos_topic_id).returns(tos_topic.id) + SiteSetting.tos_topic_id = tos_topic.id expect(Guardian.new(admin).can_delete?(tos_topic)).to be_falsey end end @@ -1478,7 +1480,7 @@ describe Guardian do it 'returns false when post is first in a static doc topic' do tos_topic = Fabricate(:topic, user: Discourse.system_user) - SiteSetting.stubs(:tos_topic_id).returns(tos_topic.id) + SiteSetting.tos_topic_id = tos_topic.id post.update_attribute :post_number, 1 post.update_attribute :topic_id, tos_topic.id expect(Guardian.new(admin).can_delete?(post)).to be_falsey @@ -1487,7 +1489,7 @@ describe Guardian do context 'post is older than post_edit_time_limit' do let(:old_post) { build(:post, topic: topic, user: topic.user, post_number: 2, created_at: 6.minutes.ago) } before do - SiteSetting.stubs(:post_edit_time_limit).returns(5) + SiteSetting.post_edit_time_limit = 5 end it 'returns false to the author of the post' do @@ -1781,7 +1783,7 @@ describe Guardian do context "when must_approve_users is false" do before do - SiteSetting.stubs(:must_approve_users?).returns(false) + SiteSetting.must_approve_users = false end it "returns true for a nil user" do @@ -1795,7 +1797,7 @@ describe Guardian do context 'when must_approve_users is true' do before do - SiteSetting.stubs(:must_approve_users?).returns(true) + SiteSetting.must_approve_users = true end it "returns false for a nil user" do @@ -1860,7 +1862,7 @@ describe Guardian do it "is true if user is not an admin and first post is not too old" do user = Fabricate.build(:user, created_at: 100.days.ago) user.stubs(:first_post_created_at).returns(9.days.ago) - SiteSetting.stubs(:delete_user_max_post_age).returns(10) + SiteSetting.delete_user_max_post_age = 10 expect(Guardian.new(actor).can_delete_user?(user)).to be_truthy end @@ -1871,7 +1873,7 @@ describe Guardian do it "is false if user's first post is too old" do user = Fabricate.build(:user, created_at: 100.days.ago) user.stubs(:first_post_created_at).returns(11.days.ago) - SiteSetting.stubs(:delete_user_max_post_age).returns(10) + SiteSetting.delete_user_max_post_age = 10 expect(Guardian.new(actor).can_delete_user?(user)).to be_falsey end end @@ -1902,21 +1904,21 @@ describe Guardian do shared_examples "can_delete_all_posts examples" do it "is true if user has no posts" do - SiteSetting.stubs(:delete_user_max_post_age).returns(10) + SiteSetting.delete_user_max_post_age = 10 expect(Guardian.new(actor).can_delete_all_posts?(Fabricate(:user, created_at: 100.days.ago))).to be_truthy end it "is true if user's first post is newer than delete_user_max_post_age days old" do user = Fabricate(:user, created_at: 100.days.ago) user.stubs(:first_post_created_at).returns(9.days.ago) - SiteSetting.stubs(:delete_user_max_post_age).returns(10) + SiteSetting.delete_user_max_post_age = 10 expect(Guardian.new(actor).can_delete_all_posts?(user)).to be_truthy end it "is false if user's first post is older than delete_user_max_post_age days old" do user = Fabricate(:user, created_at: 100.days.ago) user.stubs(:first_post_created_at).returns(11.days.ago) - SiteSetting.stubs(:delete_user_max_post_age).returns(10) + SiteSetting.delete_user_max_post_age = 10 expect(Guardian.new(actor).can_delete_all_posts?(user)).to be_falsey end @@ -1927,14 +1929,14 @@ describe Guardian do it "is true if number of posts is small" do u = Fabricate(:user, created_at: 1.day.ago) u.stubs(:post_count).returns(1) - SiteSetting.stubs(:delete_all_posts_max).returns(10) + SiteSetting.delete_all_posts_max = 10 expect(Guardian.new(actor).can_delete_all_posts?(u)).to be_truthy end it "is false if number of posts is not small" do u = Fabricate(:user, created_at: 1.day.ago) u.stubs(:post_count).returns(11) - SiteSetting.stubs(:delete_all_posts_max).returns(10) + SiteSetting.delete_all_posts_max = 10 expect(Guardian.new(actor).can_delete_all_posts?(u)).to be_falsey end end @@ -2064,7 +2066,7 @@ describe Guardian do context 'for an old user' do before do - SiteSetting.stubs(:username_change_period).returns(3) + SiteSetting.username_change_period = 3 end let(:target_user) { Fabricate(:user, created_at: 4.days.ago) } @@ -2087,7 +2089,7 @@ describe Guardian do context 'when editing is disabled in preferences' do before do - SiteSetting.stubs(:username_change_period).returns(0) + SiteSetting.username_change_period = 0 end include_examples "staff can always change usernames" @@ -2099,8 +2101,8 @@ describe Guardian do context 'when SSO username override is active' do before do - SiteSetting.stubs(:enable_sso).returns(true) - SiteSetting.stubs(:sso_overrides_username).returns(true) + SiteSetting.enable_sso = true + SiteSetting.sso_overrides_username = true end it "is false for admins" do @@ -2120,7 +2122,7 @@ describe Guardian do describe "can_edit_email?" do context 'when allowed in settings' do before do - SiteSetting.stubs(:email_editable?).returns(true) + SiteSetting.email_editable = true end it "is false when not logged in" do @@ -2146,7 +2148,7 @@ describe Guardian do context 'when not allowed in settings' do before do - SiteSetting.stubs(:email_editable?).returns(false) + SiteSetting.email_editable = false end it "is false when not logged in" do @@ -2172,8 +2174,8 @@ describe Guardian do context 'when SSO email override is active' do before do - SiteSetting.stubs(:enable_sso).returns(true) - SiteSetting.stubs(:sso_overrides_email).returns(true) + SiteSetting.enable_sso = true + SiteSetting.sso_overrides_email = true end it "is false for admins" do @@ -2217,7 +2219,7 @@ describe Guardian do context 'when name is disabled in preferences' do before do - SiteSetting.stubs(:enable_names).returns(false) + SiteSetting.enable_names = false end it 'is false for the user to change their own name' do @@ -2235,13 +2237,13 @@ describe Guardian do context 'when name is enabled in preferences' do before do - SiteSetting.stubs(:enable_names).returns(true) + SiteSetting.enable_names = true end context 'when SSO is disabled' do before do - SiteSetting.stubs(:enable_sso).returns(false) - SiteSetting.stubs(:sso_overrides_name).returns(false) + SiteSetting.enable_sso = false + SiteSetting.sso_overrides_name = false end it 'is true for admins' do @@ -2259,12 +2261,12 @@ describe Guardian do context 'when SSO is enabled' do before do - SiteSetting.stubs(:enable_sso).returns(true) + SiteSetting.enable_sso = true end context 'when SSO name override is active' do before do - SiteSetting.stubs(:sso_overrides_name).returns(true) + SiteSetting.sso_overrides_name = true end it 'is false for admins' do @@ -2282,7 +2284,7 @@ describe Guardian do context 'when SSO name override is not active' do before do - SiteSetting.stubs(:sso_overrides_name).returns(false) + SiteSetting.sso_overrides_name = false end it 'is true for admins' do diff --git a/spec/components/image_sizer_spec.rb b/spec/components/image_sizer_spec.rb index f371d6acd4b..b0132671016 100644 --- a/spec/components/image_sizer_spec.rb +++ b/spec/components/image_sizer_spec.rb @@ -4,8 +4,8 @@ require 'image_sizer' describe ImageSizer do before do - SiteSetting.stubs(:max_image_width).returns(500) - SiteSetting.stubs(:max_image_height).returns(500) + SiteSetting.max_image_width = 500 + SiteSetting.max_image_height = 500 end it 'returns the same dimensions when smaller than the maximums' do diff --git a/spec/components/onebox/engine/flash_video_onebox_spec.rb b/spec/components/onebox/engine/flash_video_onebox_spec.rb index d63ca37d3ab..f8a873da393 100644 --- a/spec/components/onebox/engine/flash_video_onebox_spec.rb +++ b/spec/components/onebox/engine/flash_video_onebox_spec.rb @@ -8,19 +8,19 @@ describe Onebox::Engine::FlashVideoOnebox do context "when SiteSetting.enable_flash_video_onebox is true" do before do - SiteSetting.stubs(:enable_flash_video_onebox).returns(true) + SiteSetting.enable_flash_video_onebox = true end it "generates a flash video" do expect(@o.to_html).to match_html( - "" + "" ) end end context "when SiteSetting.enable_flash_video_onebox is false" do before do - SiteSetting.stubs(:enable_flash_video_onebox).returns(false) + SiteSetting.enable_flash_video_onebox = false end it "generates a link" do diff --git a/spec/components/post_destroyer_spec.rb b/spec/components/post_destroyer_spec.rb index 61dce26d2da..aa67187834d 100644 --- a/spec/components/post_destroyer_spec.rb +++ b/spec/components/post_destroyer_spec.rb @@ -51,7 +51,7 @@ describe PostDestroyer do describe 'destroy_old_stubs' do it 'destroys stubs for deleted by user posts' do - SiteSetting.stubs(:delete_removed_posts_after).returns(24) + SiteSetting.delete_removed_posts_after = 24 Fabricate(:admin) topic = post.topic reply1 = create_post(topic: topic) @@ -102,7 +102,7 @@ describe PostDestroyer do PostDestroyer.new(reply1.user, reply1).destroy PostDestroyer.new(reply2.user, reply2).destroy - SiteSetting.stubs(:delete_removed_posts_after).returns(1) + SiteSetting.delete_removed_posts_after = 1 reply2.update_column(:updated_at, 70.minutes.ago) @@ -114,7 +114,7 @@ describe PostDestroyer do expect(reply1.deleted_at).to eq(nil) expect(reply2.deleted_at).not_to eq(nil) - SiteSetting.stubs(:delete_removed_posts_after).returns(72) + SiteSetting.delete_removed_posts_after = 72 reply1.update_column(:updated_at, 2.days.ago) @@ -122,7 +122,7 @@ describe PostDestroyer do expect(reply1.reload.deleted_at).to eq(nil) - SiteSetting.stubs(:delete_removed_posts_after).returns(47) + SiteSetting.delete_removed_posts_after = 47 PostDestroyer.destroy_stubs @@ -134,7 +134,7 @@ describe PostDestroyer do topic = post.topic reply1 = create_post(topic: topic) - SiteSetting.stubs(:delete_removed_posts_after).returns(0) + SiteSetting.delete_removed_posts_after = 0 PostDestroyer.new(reply1.user, reply1).destroy diff --git a/spec/components/post_revisor_spec.rb b/spec/components/post_revisor_spec.rb index 445c00ecd15..eafe106c9f9 100644 --- a/spec/components/post_revisor_spec.rb +++ b/spec/components/post_revisor_spec.rb @@ -73,7 +73,7 @@ describe PostRevisor do describe 'ninja editing' do it 'correctly applies edits' do - SiteSetting.stubs(:editing_grace_period).returns(1.minute) + SiteSetting.editing_grace_period = 1.minute subject.revise!(post.user, { raw: 'updated body' }, revised_at: post.updated_at + 10.seconds) post.reload @@ -86,7 +86,7 @@ describe PostRevisor do end it "doesn't create a new version" do - SiteSetting.stubs(:editing_grace_period).returns(1.minute) + SiteSetting.editing_grace_period = 1.minute # making a revision subject.revise!(post.user, { raw: 'updated body' }, revised_at: post.updated_at + SiteSetting.editing_grace_period + 1.seconds) @@ -106,7 +106,7 @@ describe PostRevisor do let!(:revised_at) { post.updated_at + 2.minutes } before do - SiteSetting.stubs(:editing_grace_period).returns(1.minute.to_i) + SiteSetting.editing_grace_period = 1.minute subject.revise!(post.user, { raw: 'updated body' }, revised_at: revised_at) post.reload end @@ -244,7 +244,7 @@ describe PostRevisor do let(:changed_by) { Fabricate(:admin) } before do - SiteSetting.stubs(:newuser_max_images).returns(0) + SiteSetting.newuser_max_images = 0 url = "http://i.imgur.com/wfn7rgU.jpg" Oneboxer.stubs(:onebox).with(url, anything).returns("") subject.revise!(changed_by, { raw: "So, post them here!\n#{url}" }) @@ -262,7 +262,7 @@ describe PostRevisor do describe "new user editing their own post" do before do - SiteSetting.stubs(:newuser_max_images).returns(0) + SiteSetting.newuser_max_images = 0 url = "http://i.imgur.com/FGg7Vzu.gif" Oneboxer.stubs(:cached_onebox).with(url, anything).returns("") subject.revise!(post.user, { raw: "So, post them here!\n#{url}" }) @@ -312,7 +312,7 @@ describe PostRevisor do context 'second poster posts again quickly' do before do - SiteSetting.stubs(:editing_grace_period).returns(1.minute.to_i) + SiteSetting.editing_grace_period = 1.minute subject.revise!(changed_by, { raw: 'yet another updated body' }, revised_at: post.updated_at + 10.seconds) post.reload end @@ -326,7 +326,7 @@ describe PostRevisor do context 'passing skip_revision as true' do before do - SiteSetting.stubs(:editing_grace_period).returns(1.minute.to_i) + SiteSetting.editing_grace_period = 1.minute subject.revise!(changed_by, { raw: 'yet another updated body' }, { revised_at: post.updated_at + 10.hours, skip_revision: true }) post.reload end diff --git a/spec/components/pretty_text_spec.rb b/spec/components/pretty_text_spec.rb index 61106ffcc53..67924398a77 100644 --- a/spec/components/pretty_text_spec.rb +++ b/spec/components/pretty_text_spec.rb @@ -94,8 +94,8 @@ HTML describe "rel nofollow" do before do - SiteSetting.stubs(:add_rel_nofollow_to_user_content).returns(true) - SiteSetting.stubs(:exclude_rel_nofollow_domains).returns("foo.com|bar.com") + SiteSetting.add_rel_nofollow_to_user_content = true + SiteSetting.exclude_rel_nofollow_domains = "foo.com|bar.com" end it "should inject nofollow in all user provided links" do diff --git a/spec/components/rtl_spec.rb b/spec/components/rtl_spec.rb index 018fc6fdf46..4cc776d26b8 100644 --- a/spec/components/rtl_spec.rb +++ b/spec/components/rtl_spec.rb @@ -29,10 +29,10 @@ describe Rtl do end context 'user locale is not allowed' do - before { SiteSetting.stubs(:allow_user_locale).returns(false) } + before { SiteSetting.allow_user_locale = false } context 'site default locale is RTL' do - before { SiteSetting.stubs(:default_locale).returns('he') } + before { SiteSetting.default_locale = 'he' } it 'returns rtl class' do expect(Rtl.new(user).css_class).to eq('rtl') @@ -40,7 +40,7 @@ describe Rtl do end context 'site default locale is LTR' do - before { SiteSetting.stubs(:default_locale).returns('en') } + before { SiteSetting.default_locale = 'en' } context 'user locale is RTL' do before { user.stubs(:locale).returns('he') } diff --git a/spec/components/search_spec.rb b/spec/components/search_spec.rb index 62a22f95cb1..fee0c6008a7 100644 --- a/spec/components/search_spec.rb +++ b/spec/components/search_spec.rb @@ -121,7 +121,7 @@ describe Search do end context 'hiding user profiles' do - before { SiteSetting.stubs(:hide_user_profiles_from_public).returns(true) } + before { SiteSetting.hide_user_profiles_from_public = true } it 'returns no result for anon' do expect(result.users.length).to eq(0) diff --git a/spec/components/spam_handler_spec.rb b/spec/components/spam_handler_spec.rb index 64508d6ecaa..380784f6ae8 100644 --- a/spec/components/spam_handler_spec.rb +++ b/spec/components/spam_handler_spec.rb @@ -7,13 +7,13 @@ describe SpamHandler do it "works" do # max_new_accounts_per_registration_ip = 0 disables the check - SiteSetting.stubs(:max_new_accounts_per_registration_ip).returns(0) + SiteSetting.max_new_accounts_per_registration_ip = 0 Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[1]) Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) # only prevents registration for TL0 - SiteSetting.stubs(:max_new_accounts_per_registration_ip).returns(2) + SiteSetting.max_new_accounts_per_registration_ip = 2 Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[1]) Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) @@ -24,36 +24,36 @@ describe SpamHandler do it "doesn't limit registrations since there is a TL2+ user with that IP" do # setup - SiteSetting.stubs(:max_new_accounts_per_registration_ip).returns(0) + SiteSetting.max_new_accounts_per_registration_ip = 0 Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[2]) # should not limit registration - SiteSetting.stubs(:max_new_accounts_per_registration_ip).returns(1) + SiteSetting.max_new_accounts_per_registration_ip = 1 Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) end it "doesn't limit registrations since there is a staff member with that IP" do # setup - SiteSetting.stubs(:max_new_accounts_per_registration_ip).returns(0) + SiteSetting.max_new_accounts_per_registration_ip = 0 Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) Fabricate(:moderator, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) Group.refresh_automatic_groups!(:staff) # should not limit registration - SiteSetting.stubs(:max_new_accounts_per_registration_ip).returns(1) + SiteSetting.max_new_accounts_per_registration_ip = 1 Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) end it "doesn't limit registrations when the IP is whitelisted" do # setup - SiteSetting.stubs(:max_new_accounts_per_registration_ip).returns(0) + SiteSetting.max_new_accounts_per_registration_ip = 0 Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) ScreenedIpAddress.stubs(:is_whitelisted?).with("42.42.42.42").returns(true) # should not limit registration - SiteSetting.stubs(:max_new_accounts_per_registration_ip).returns(1) + SiteSetting.max_new_accounts_per_registration_ip = 1 Fabricate(:user, ip_address: "42.42.42.42", trust_level: TrustLevel[0]) end diff --git a/spec/components/suggested_topics_builder_spec.rb b/spec/components/suggested_topics_builder_spec.rb index c860fe0dc11..2b77b222de8 100644 --- a/spec/components/suggested_topics_builder_spec.rb +++ b/spec/components/suggested_topics_builder_spec.rb @@ -7,7 +7,7 @@ describe SuggestedTopicsBuilder do let(:builder) { SuggestedTopicsBuilder.new(topic) } before do - SiteSetting.stubs(:suggested_topics).returns(5) + SiteSetting.suggested_topics = 5 end context "splicing category results" do diff --git a/spec/components/text_sentinel_spec.rb b/spec/components/text_sentinel_spec.rb index d1f68cff4c4..5707fa9895d 100644 --- a/spec/components/text_sentinel_spec.rb +++ b/spec/components/text_sentinel_spec.rb @@ -79,7 +79,7 @@ describe TextSentinel do end it "allows all caps topics when loud posts are allowed" do - SiteSetting.stubs(:allow_uppercase_posts).returns(true) + SiteSetting.allow_uppercase_posts = true expect(TextSentinel.new(valid_string.upcase)).to be_valid end @@ -126,8 +126,8 @@ describe TextSentinel do context 'title_sentinel' do it "uses a sensible min entropy value when min title length is less than title_min_entropy" do - SiteSetting.stubs(:min_topic_title_length).returns(3) - SiteSetting.stubs(:title_min_entropy).returns(10) + SiteSetting.min_topic_title_length = 3 + SiteSetting.title_min_entropy = 10 expect(TextSentinel.title_sentinel('Hey')).to be_valid end @@ -136,15 +136,15 @@ describe TextSentinel do context 'body_sentinel' do it "uses a sensible min entropy value when min body length is less than min entropy" do - SiteSetting.stubs(:min_post_length).returns(3) - SiteSetting.stubs(:body_min_entropy).returns(7) + SiteSetting.min_post_length = 3 + SiteSetting.body_min_entropy = 7 expect(TextSentinel.body_sentinel('Yup')).to be_valid end it "uses a sensible min entropy value when min pm body length is less than min entropy" do - SiteSetting.stubs(:min_post_length).returns(5) - SiteSetting.stubs(:min_private_message_post_length).returns(3) - SiteSetting.stubs(:body_min_entropy).returns(7) + SiteSetting.min_post_length = 5 + SiteSetting.min_private_message_post_length = 3 + SiteSetting.body_min_entropy = 7 expect(TextSentinel.body_sentinel('Lol', private_message: true)).to be_valid end end diff --git a/spec/components/topic_creator_spec.rb b/spec/components/topic_creator_spec.rb index 1e97a81b791..012f642b630 100644 --- a/spec/components/topic_creator_spec.rb +++ b/spec/components/topic_creator_spec.rb @@ -14,7 +14,7 @@ describe TopicCreator do before do TopicCreator.any_instance.expects(:save_topic).returns(true) TopicCreator.any_instance.expects(:watch_topic).returns(true) - SiteSetting.stubs(:allow_duplicate_topic_titles?).returns(true) + SiteSetting.allow_duplicate_topic_titles = true end it "should be possible for an admin to create a topic" do @@ -26,7 +26,7 @@ describe TopicCreator do end context 'regular user' do - before { SiteSetting.stubs(:min_trust_to_create_topic).returns(TrustLevel[0]) } + before { SiteSetting.min_trust_to_create_topic = TrustLevel[0] } it "should be possible for a regular user to create a topic" do expect(TopicCreator.create(user, Guardian.new(user), valid_attrs)).to be_valid @@ -57,7 +57,7 @@ describe TopicCreator do before do TopicCreator.any_instance.expects(:save_topic).returns(true) TopicCreator.any_instance.expects(:watch_topic).returns(true) - SiteSetting.stubs(:allow_duplicate_topic_titles?).returns(true) + SiteSetting.allow_duplicate_topic_titles = true end it "should be possible for a regular user to send private message" do diff --git a/spec/components/validators/password_validator_spec.rb b/spec/components/validators/password_validator_spec.rb index 92f6095c3f1..7166b9e4b9d 100644 --- a/spec/components/validators/password_validator_spec.rb +++ b/spec/components/validators/password_validator_spec.rb @@ -19,7 +19,7 @@ describe PasswordValidator do end context "min password length is 8" do - before { SiteSetting.stubs(:min_password_length).returns(8) } + before { SiteSetting.min_password_length = 8 } it "doesn't add an error when password is good" do @password = "weron235alsfn234" @@ -56,7 +56,7 @@ describe PasswordValidator do end context "min password length is 12" do - before { SiteSetting.stubs(:min_password_length).returns(12) } + before { SiteSetting.min_password_length = 12 } it "adds an error when password length is 11" do @password = "gt38sdt92bv" @@ -68,19 +68,19 @@ describe PasswordValidator do context "password is commonly used" do before do - SiteSetting.stubs(:min_password_length).returns(8) + SiteSetting.min_password_length = 8 CommonPasswords.stubs(:common_password?).returns(true) end it "adds an error when block_common_passwords is enabled" do - SiteSetting.stubs(:block_common_passwords).returns(true) + SiteSetting.block_common_passwords = true @password = "password" validate expect(record.errors[:password]).to include(password_error_message(:common)) end it "doesn't add an error when block_common_passwords is disabled" do - SiteSetting.stubs(:block_common_passwords).returns(false) + SiteSetting.block_common_passwords = false @password = "password" validate expect(record.errors[:password]).not_to be_present diff --git a/spec/components/validators/post_validator_spec.rb b/spec/components/validators/post_validator_spec.rb index 25893f34e57..008e92fa16b 100644 --- a/spec/components/validators/post_validator_spec.rb +++ b/spec/components/validators/post_validator_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' require_dependency 'validators/post_validator' describe Validators::PostValidator do - let(:post) { build(:post) } + let(:post) { build(:post, topic: Fabricate(:topic)) } let(:validator) { Validators::PostValidator.new({}) } context "#post_body_validator" do @@ -144,7 +144,7 @@ describe Validators::PostValidator do describe "unique_post_validator" do before do - SiteSetting.stubs(:unique_posts_mins).returns(5) + SiteSetting.unique_posts_mins = 5 end context "post is unique" do @@ -193,7 +193,7 @@ describe Validators::PostValidator do context "admin editing a static page" do before do post.acting_user = build(:admin) - SiteSetting.stubs(:tos_topic_id).returns(post.topic_id) + SiteSetting.tos_topic_id = post.topic_id end include_examples "almost no validations" diff --git a/spec/components/validators/topic_title_length_validator_spec.rb b/spec/components/validators/topic_title_length_validator_spec.rb index 2f960247ad5..c95fa21e6b6 100644 --- a/spec/components/validators/topic_title_length_validator_spec.rb +++ b/spec/components/validators/topic_title_length_validator_spec.rb @@ -39,7 +39,7 @@ describe TopicTitleLengthValidator do validate expect(record.errors[:title]).to_not be_present - SiteSetting.stubs(:min_topic_title_length).returns(2) + SiteSetting.min_topic_title_length = 2 record.title = 'aaa' validate diff --git a/spec/components/validators/user_full_name_validator_spec.rb b/spec/components/validators/user_full_name_validator_spec.rb index bfa57b74b4b..d72797a6c6a 100644 --- a/spec/components/validators/user_full_name_validator_spec.rb +++ b/spec/components/validators/user_full_name_validator_spec.rb @@ -6,7 +6,7 @@ describe UserFullNameValidator do let(:record) { Fabricate.build(:user, name: @name) } context "name not required" do - before { SiteSetting.stubs(:full_name_required).returns(false) } + before { SiteSetting.full_name_required = false } it "allows no name" do @name = nil @@ -22,7 +22,7 @@ describe UserFullNameValidator do end context "name required" do - before { SiteSetting.stubs(:full_name_required).returns(true) } + before { SiteSetting.full_name_required = true } it "adds error for nil name" do @name = nil diff --git a/spec/controllers/admin/dashboard_controller_spec.rb b/spec/controllers/admin/dashboard_controller_spec.rb index 8bc31307cf2..ed567597463 100644 --- a/spec/controllers/admin/dashboard_controller_spec.rb +++ b/spec/controllers/admin/dashboard_controller_spec.rb @@ -22,7 +22,7 @@ describe Admin::DashboardController do context 'version checking is enabled' do before do - SiteSetting.stubs(:version_checks).returns(true) + SiteSetting.version_checks = true end it 'returns discourse version info' do @@ -34,7 +34,7 @@ describe Admin::DashboardController do context 'version checking is disabled' do before do - SiteSetting.stubs(:version_checks).returns(false) + SiteSetting.version_checks = false end it 'does not return discourse version info' do diff --git a/spec/controllers/admin/screened_ip_addresses_controller_spec.rb b/spec/controllers/admin/screened_ip_addresses_controller_spec.rb index 2ababc1a49e..201a2fad5ef 100644 --- a/spec/controllers/admin/screened_ip_addresses_controller_spec.rb +++ b/spec/controllers/admin/screened_ip_addresses_controller_spec.rb @@ -42,7 +42,7 @@ describe Admin::ScreenedIpAddressesController do Fabricate(:screened_ip_address, ip_address: "42.42.42.5", match_count: 1) StaffActionLogger.any_instance.expects(:log_roll_up) - SiteSetting.stubs(:min_ban_entries_for_roll_up).returns(3) + SiteSetting.min_ban_entries_for_roll_up = 3 xhr :post, :roll_up expect(response).to be_success @@ -62,7 +62,7 @@ describe Admin::ScreenedIpAddressesController do Fabricate(:screened_ip_address, ip_address: "1.2.42.0/24", match_count: 1) StaffActionLogger.any_instance.expects(:log_roll_up) - SiteSetting.stubs(:min_ban_entries_for_roll_up).returns(5) + SiteSetting.min_ban_entries_for_roll_up = 5 xhr :post, :roll_up expect(response).to be_success diff --git a/spec/controllers/admin/site_settings_controller_spec.rb b/spec/controllers/admin/site_settings_controller_spec.rb index 9d132bb4017..7a2de2d6d0f 100644 --- a/spec/controllers/admin/site_settings_controller_spec.rb +++ b/spec/controllers/admin/site_settings_controller_spec.rb @@ -30,20 +30,21 @@ describe Admin::SiteSettingsController do end it 'sets the value when the param is present' do - SiteSetting.expects(:'test_setting=').with('hello').once xhr :put, :update, id: 'test_setting', test_setting: 'hello' + + expect(SiteSetting.test_setting).to eq('hello') end it 'allows value to be a blank string' do - SiteSetting.expects(:'test_setting=').with('').once xhr :put, :update, id: 'test_setting', test_setting: '' + expect(SiteSetting.test_setting).to eq('') end it 'logs the change' do - SiteSetting.stubs(:test_setting).returns('previous') - SiteSetting.expects(:'test_setting=').with('hello').once + SiteSetting.test_setting = 'previous' StaffActionLogger.any_instance.expects(:log_site_setting_change).with('test_setting', 'previous', 'hello') xhr :put, :update, id: 'test_setting', test_setting: 'hello' + expect(SiteSetting.test_setting).to eq('hello') end it 'does not allow changing of hidden settings' do diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index dc86db91228..178f26ba13c 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -177,8 +177,8 @@ describe TopicsController do context "allow_user_locale disabled" do context "accept-language header differs from default locale" do before do - SiteSetting.stubs(:allow_user_locale).returns(false) - SiteSetting.stubs(:default_locale).returns("en") + SiteSetting.allow_user_locale = false + SiteSetting.default_locale = "en" set_accept_language("fr") end @@ -206,9 +206,9 @@ describe TopicsController do context "set_locale_from_accept_language_header enabled" do context "accept-language header differs from default locale" do before do - SiteSetting.stubs(:allow_user_locale).returns(true) - SiteSetting.stubs(:set_locale_from_accept_language_header).returns(true) - SiteSetting.stubs(:default_locale).returns("en") + SiteSetting.allow_user_locale = true + SiteSetting.set_locale_from_accept_language_header = true + SiteSetting.default_locale = "en" set_accept_language("fr") end @@ -234,8 +234,9 @@ describe TopicsController do context "the preferred locale includes a region" do it "returns the locale and region separated by an underscore" do - SiteSetting.stubs(:set_locale_from_accept_language_header).returns(true) - SiteSetting.stubs(:default_locale).returns("en") + SiteSetting.allow_user_locale = true + SiteSetting.set_locale_from_accept_language_header = true + SiteSetting.default_locale = "en" set_accept_language("zh-CN") get :show, {topic_id: topic.id} @@ -246,8 +247,8 @@ describe TopicsController do context 'accept-language header is not set' do it 'uses the site default locale' do - SiteSetting.stubs(:allow_user_locale).returns(true) - SiteSetting.stubs(:default_locale).returns('en') + SiteSetting.allow_user_locale = true + SiteSetting.default_locale = 'en' set_accept_language('') get :show, {topic_id: topic.id} diff --git a/spec/controllers/invites_controller_spec.rb b/spec/controllers/invites_controller_spec.rb index eb28ddb3094..af51c6022d7 100644 --- a/spec/controllers/invites_controller_spec.rb +++ b/spec/controllers/invites_controller_spec.rb @@ -283,7 +283,7 @@ describe InvitesController do context 'new registrations are disabled' do let(:topic) { Fabricate(:topic) } let(:invite) { topic.invite_by_email(topic.user, "iceking@adventuretime.ooo") } - before { SiteSetting.stubs(:allow_new_registrations).returns(false) } + before { SiteSetting.allow_new_registrations = false } it "doesn't redeem the invite" do Invite.any_instance.stubs(:redeem).never diff --git a/spec/controllers/list_controller_spec.rb b/spec/controllers/list_controller_spec.rb index 4240d78ca9b..ad390120d4c 100644 --- a/spec/controllers/list_controller_spec.rb +++ b/spec/controllers/list_controller_spec.rb @@ -8,7 +8,7 @@ describe ListController do @post = Fabricate(:post, user: @user) # forces tests down some code paths - SiteSetting.stubs(:top_menu).returns('latest,-video|new|unread|categories|category/beer') + SiteSetting.top_menu = 'latest,-video|new|unread|categories|category/beer' end describe 'titles for crawler layout' do diff --git a/spec/controllers/posts_controller_spec.rb b/spec/controllers/posts_controller_spec.rb index 6efb7380a3d..d2f819a044b 100644 --- a/spec/controllers/posts_controller_spec.rb +++ b/spec/controllers/posts_controller_spec.rb @@ -889,7 +889,7 @@ describe PostsController do context "when edit history is not visible to the public" do - before { SiteSetting.stubs(:edit_history_visible_to_public).returns(false) } + before { SiteSetting.edit_history_visible_to_public = false } it "ensures anonymous cannot see the revisions" do xhr :get, :revisions, post_id: post_revision.post_id, revision: post_revision.number @@ -926,7 +926,7 @@ describe PostsController do context "when edit history is visible to everyone" do - before { SiteSetting.stubs(:edit_history_visible_to_public).returns(true) } + before { SiteSetting.edit_history_visible_to_public = true } it "ensures anyone can see the revisions" do xhr :get, :revisions, post_id: post_revision.post_id, revision: post_revision.number diff --git a/spec/controllers/session_controller_spec.rb b/spec/controllers/session_controller_spec.rb index 679df2d59be..7e9c87b6061 100644 --- a/spec/controllers/session_controller_spec.rb +++ b/spec/controllers/session_controller_spec.rb @@ -36,7 +36,7 @@ describe SessionController do # send welcome messages Fabricate(:admin) # skip for now - # SiteSetting.stubs("send_welcome_message").returns(false) + # SiteSetting.send_welcome_message = false end def get_sso(return_path) @@ -343,9 +343,9 @@ describe SessionController do describe 'local attribute override from SSO payload' do before do - SiteSetting.stubs("sso_overrides_email").returns(true) - SiteSetting.stubs("sso_overrides_username").returns(true) - SiteSetting.stubs("sso_overrides_name").returns(true) + SiteSetting.sso_overrides_email = true + SiteSetting.sso_overrides_username = true + SiteSetting.sso_overrides_name = true @user = Fabricate(:user) @@ -525,7 +525,7 @@ describe SessionController do describe 'local logins disabled' do it 'fails' do - SiteSetting.stubs(:enable_local_logins).returns(false) + SiteSetting.enable_local_logins = false xhr :post, :create, login: user.username, password: 'myawesomepassword' expect(response.status.to_i).to eq(500) end @@ -617,7 +617,7 @@ describe SessionController do let(:permitted_ip_address) { '111.234.23.11' } before do Fabricate(:screened_ip_address, ip_address: permitted_ip_address, action_type: ScreenedIpAddress.actions[:allow_admin]) - SiteSetting.stubs(:use_admin_ip_whitelist).returns(true) + SiteSetting.use_admin_ip_whitelist = true end it 'is successful for admin at the ip address' do diff --git a/spec/controllers/similar_topics_controller_spec.rb b/spec/controllers/similar_topics_controller_spec.rb index 93dfa5ef9e0..605bed1d6a6 100644 --- a/spec/controllers/similar_topics_controller_spec.rb +++ b/spec/controllers/similar_topics_controller_spec.rb @@ -16,7 +16,7 @@ describe SimilarTopicsController do it "returns no results if the title length is below the minimum" do Topic.expects(:similar_to).never - SiteSetting.stubs(:min_title_similar_length).returns(100) + SiteSetting.min_title_similar_length = 100 xhr :get, :index, title: title, raw: raw json = ::JSON.parse(response.body) expect(json["similar_topics"].size).to eq(0) @@ -24,7 +24,7 @@ describe SimilarTopicsController do it "returns no results if the body length is below the minimum" do Topic.expects(:similar_to).never - SiteSetting.stubs(:min_body_similar_length).returns(100) + SiteSetting.min_body_similar_length = 100 xhr :get, :index, title: title, raw: raw json = ::JSON.parse(response.body) expect(json["similar_topics"].size).to eq(0) @@ -33,7 +33,7 @@ describe SimilarTopicsController do describe "minimum_topics_similar" do before do - SiteSetting.stubs(:minimum_topics_similar).returns(30) + SiteSetting.minimum_topics_similar = 30 end after do @@ -69,4 +69,3 @@ describe SimilarTopicsController do end end - diff --git a/spec/controllers/static_controller_spec.rb b/spec/controllers/static_controller_spec.rb index fba85ae8c11..0f7bf73ca1b 100644 --- a/spec/controllers/static_controller_spec.rb +++ b/spec/controllers/static_controller_spec.rb @@ -54,9 +54,9 @@ describe StaticController do context 'show' do before do post = create_post - SiteSetting.stubs(:tos_topic_id).returns(post.topic.id) - SiteSetting.stubs(:guidelines_topic_id).returns(post.topic.id) - SiteSetting.stubs(:privacy_topic_id).returns(post.topic.id) + SiteSetting.tos_topic_id = post.topic.id + SiteSetting.guidelines_topic_id = post.topic.id + SiteSetting.privacy_topic_id = post.topic.id end context "with a static file that's present" do @@ -87,7 +87,7 @@ describe StaticController do end context "when #{setting_name} site setting is set" do - before { SiteSetting.stubs(setting_name).returns('http://example.com/page') } + before { SiteSetting.public_send("#{setting_name}=", 'http://example.com/page') } it "redirects to the #{setting_name}" do expect(subject).to redirect_to('http://example.com/page') @@ -110,7 +110,7 @@ describe StaticController do end it "should display the login template when login is required" do - SiteSetting.stubs(:login_required).returns(true) + SiteSetting.login_required = true xhr :get, :show, id: 'login' expect(response).to be_success end diff --git a/spec/controllers/topics_controller_spec.rb b/spec/controllers/topics_controller_spec.rb index 27a87c43abc..163dc86993d 100644 --- a/spec/controllers/topics_controller_spec.rb +++ b/spec/controllers/topics_controller_spec.rb @@ -996,7 +996,7 @@ describe TopicsController do context "allow_uncategorized_topics is false" do before do - SiteSetting.stubs(:allow_uncategorized_topics).returns(false) + SiteSetting.allow_uncategorized_topics = false end it "can add a category to an uncategorized topic" do diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 77b43be5942..9b74645bf91 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -14,7 +14,7 @@ describe ApplicationHelper do describe "mobile_view?" do context "enable_mobile_theme is true" do before do - SiteSetting.stubs(:enable_mobile_theme).returns(true) + SiteSetting.enable_mobile_theme = true end it "is true if mobile_view is '1' in the session" do @@ -67,7 +67,7 @@ describe ApplicationHelper do context "enable_mobile_theme is false" do before do - SiteSetting.stubs(:enable_mobile_theme).returns(false) + SiteSetting.enable_mobile_theme = false end it "is false if mobile_view is '1' in the session" do diff --git a/spec/jobs/enqueue_digest_emails_spec.rb b/spec/jobs/enqueue_digest_emails_spec.rb index acb3f16403d..089bf243b52 100644 --- a/spec/jobs/enqueue_digest_emails_spec.rb +++ b/spec/jobs/enqueue_digest_emails_spec.rb @@ -18,14 +18,9 @@ describe Jobs::EnqueueDigestEmails do let!(:unapproved_user) { Fabricate(:active_user, approved: false, last_emailed_at: 8.days.ago, last_seen_at: 10.days.ago) } before do - @original_value = SiteSetting.must_approve_users SiteSetting.must_approve_users = true end - after do - SiteSetting.must_approve_users = @original_value - end - it 'should enqueue the right digest emails' do expect(Jobs::EnqueueDigestEmails.new.target_user_ids.include?(unapproved_user.id)).to eq(false) @@ -123,7 +118,7 @@ describe Jobs::EnqueueDigestEmails do end it "enqueues the digest email job" do - SiteSetting.stubs(:disable_digest_emails?).returns(false) + SiteSetting.disable_digest_emails = false Jobs.expects(:enqueue).with(:user_email, type: :digest, user_id: user.id) Jobs::EnqueueDigestEmails.new.execute({}) end diff --git a/spec/jobs/pending_flags_reminder_spec.rb b/spec/jobs/pending_flags_reminder_spec.rb index 25f6eb673b0..a99852b02f2 100644 --- a/spec/jobs/pending_flags_reminder_spec.rb +++ b/spec/jobs/pending_flags_reminder_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' describe Jobs::PendingFlagsReminder do context "notify_about_flags_after is 0" do - before { SiteSetting.stubs(:notify_about_flags_after).returns(0) } + before { SiteSetting.notify_about_flags_after = 0 } it "never notifies" do PostAction.stubs(:flagged_posts_count).returns(1) diff --git a/spec/jobs/pending_queued_posts_reminder_spec.rb b/spec/jobs/pending_queued_posts_reminder_spec.rb index fe5a1c79563..3eb0f6c4b57 100644 --- a/spec/jobs/pending_queued_posts_reminder_spec.rb +++ b/spec/jobs/pending_queued_posts_reminder_spec.rb @@ -2,7 +2,7 @@ require "rails_helper" describe Jobs::PendingQueuedPostReminder do context "notify_about_queued_posts_after is 0" do - before { SiteSetting.stubs(:notify_about_queued_posts_after).returns(0) } + before { SiteSetting.notify_about_queued_posts_after = 0 } it "never emails" do described_class.any_instance.expects(:should_notify_ids).never diff --git a/spec/jobs/pending_users_reminder_spec.rb b/spec/jobs/pending_users_reminder_spec.rb index c844184522d..2d13df00d5f 100644 --- a/spec/jobs/pending_users_reminder_spec.rb +++ b/spec/jobs/pending_users_reminder_spec.rb @@ -43,7 +43,7 @@ describe Jobs::PendingUsersReminder do context 'must_approve_users is false' do before do - SiteSetting.stubs(:must_approve_users).returns(false) + SiteSetting.must_approve_users = false end it "doesn't send a message to anyone when there are pending users" do diff --git a/spec/jobs/user_email_spec.rb b/spec/jobs/user_email_spec.rb index b3cd3c7fe57..27788a7fdfc 100644 --- a/spec/jobs/user_email_spec.rb +++ b/spec/jobs/user_email_spec.rb @@ -162,7 +162,7 @@ describe Jobs::UserEmail do end context 'user is anonymous' do - before { SiteSetting.stubs(:allow_anonymous_posting).returns(true) } + before { SiteSetting.allow_anonymous_posting = true } it "doesn't send email for a pm from a regular user" do Email::Sender.any_instance.expects(:send).never @@ -332,7 +332,7 @@ describe Jobs::UserEmail do end context 'user is anonymous' do - before { SiteSetting.stubs(:allow_anonymous_posting).returns(true) } + before { SiteSetting.allow_anonymous_posting = true } it "doesn't send email for a pm from a regular user" do Email::Sender.any_instance.expects(:send).never diff --git a/spec/models/admin_dashboard_data_spec.rb b/spec/models/admin_dashboard_data_spec.rb index f6e1a2c2940..05a078cf9c8 100644 --- a/spec/models/admin_dashboard_data_spec.rb +++ b/spec/models/admin_dashboard_data_spec.rb @@ -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 diff --git a/spec/models/category_list_spec.rb b/spec/models/category_list_spec.rb index 32da7627967..44bb7c67a5f 100644 --- a/spec/models/category_list_spec.rb +++ b/spec/models/category_list_spec.rb @@ -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 diff --git a/spec/models/category_spec.rb b/spec/models/category_spec.rb index 87e808c26c5..cac2e665303 100644 --- a/spec/models/category_spec.rb +++ b/spec/models/category_spec.rb @@ -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 diff --git a/spec/models/invite_spec.rb b/spec/models/invite_spec.rb index 43256048a80..bf6288e3c3b 100644 --- a/spec/models/invite_spec.rb +++ b/spec/models/invite_spec.rb @@ -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 diff --git a/spec/models/post_action_spec.rb b/spec/models/post_action_spec.rb index 9e30886a39c..408ca8014e1 100644 --- a/spec/models/post_action_spec.rb +++ b/spec/models/post_action_spec.rb @@ -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]) diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index 09d7e533be0..32d1566cefe 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -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) diff --git a/spec/models/screened_ip_address_spec.rb b/spec/models/screened_ip_address_spec.rb index c26b1151be2..18924015d31 100644 --- a/spec/models/screened_ip_address_spec.rb +++ b/spec/models/screened_ip_address_spec.rb @@ -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) diff --git a/spec/models/topic_embed_spec.rb b/spec/models/topic_embed_spec.rb index 7270c4fc7e9..8da66b32b6d 100644 --- a/spec/models/topic_embed_spec.rb +++ b/spec/models/topic_embed_spec.rb @@ -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) diff --git a/spec/models/topic_spec.rb b/spec/models/topic_spec.rb index b1610f60783..5325b9f89dd 100644 --- a/spec/models/topic_spec.rb +++ b/spec/models/topic_spec.rb @@ -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 diff --git a/spec/models/trust_level3_requirements_spec.rb b/spec/models/trust_level3_requirements_spec.rb index cb0a2b4e445..8b0ad4b4bfb 100644 --- a/spec/models/trust_level3_requirements_spec.rb +++ b/spec/models/trust_level3_requirements_spec.rb @@ -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) diff --git a/spec/models/upload_spec.rb b/spec/models/upload_spec.rb index c187ddbe675..d6eaedee761 100644 --- a/spec/models/upload_spec.rb +++ b/spec/models/upload_spec.rb @@ -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 diff --git a/spec/models/user_profile_spec.rb b/spec/models/user_profile_spec.rb index 34a88c48cd0..5e059bb5861 100644 --- a/spec/models/user_profile_spec.rb +++ b/spec/models/user_profile_spec.rb @@ -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] diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 7e2545e0e1d..2db4346b0db 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -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 diff --git a/spec/serializers/basic_post_serializer_spec.rb b/spec/serializers/basic_post_serializer_spec.rb index 63743c5d950..558204460e7 100644 --- a/spec/serializers/basic_post_serializer_spec.rb +++ b/spec/serializers/basic_post_serializer_spec.rb @@ -11,12 +11,12 @@ describe BasicPostSerializer do let(:json) { serializer.as_json } it "returns the name it when `enable_names` is true" do - SiteSetting.stubs(:enable_names?).returns(true) + SiteSetting.enable_names = true expect(json[:name]).to be_present end it "doesn't return the name it when `enable_names` is false" do - SiteSetting.stubs(:enable_names?).returns(false) + SiteSetting.enable_names = false expect(json[:name]).to be_blank end diff --git a/spec/serializers/post_serializer_spec.rb b/spec/serializers/post_serializer_spec.rb index 4800b0f9caa..f1a08da4009 100644 --- a/spec/serializers/post_serializer_spec.rb +++ b/spec/serializers/post_serializer_spec.rb @@ -70,12 +70,12 @@ describe PostSerializer do let(:json) { serializer.as_json } it "returns the display_username it when `enable_names` is on" do - SiteSetting.stubs(:enable_names).returns(true) + SiteSetting.enable_names = true expect(json[:display_username]).to be_present end it "doesn't return the display_username it when `enable_names` is off" do - SiteSetting.stubs(:enable_names).returns(false) + SiteSetting.enable_names = false expect(json[:display_username]).to be_blank end end diff --git a/spec/serializers/user_serializer_spec.rb b/spec/serializers/user_serializer_spec.rb index 38b5a2be8c6..599020d078d 100644 --- a/spec/serializers/user_serializer_spec.rb +++ b/spec/serializers/user_serializer_spec.rb @@ -60,7 +60,7 @@ describe UserSerializer do context "with `enable_names` false" do before do - SiteSetting.stubs(:enable_names?).returns(false) + SiteSetting.enable_names = false end it "has a name" do @@ -192,7 +192,7 @@ describe UserSerializer do end it "serializes the fields listed in public_user_custom_fields site setting" do - SiteSetting.stubs(:public_user_custom_fields).returns('public_field') + SiteSetting.public_user_custom_fields = 'public_field' expect(json[:custom_fields]['public_field']).to eq(user.custom_fields['public_field']) expect(json[:custom_fields]['secret_field']).to eq(nil) end diff --git a/spec/services/auto_block_spec.rb b/spec/services/auto_block_spec.rb index b2216973de5..e4331ed2338 100644 --- a/spec/services/auto_block_spec.rb +++ b/spec/services/auto_block_spec.rb @@ -156,7 +156,7 @@ describe SpamRule::AutoBlock do end it "doesn't send a pm to moderators if notify_mods_when_user_blocked is false" do - SiteSetting.stubs(:notify_mods_when_user_blocked).returns(false) + SiteSetting.notify_mods_when_user_blocked = false GroupMessage.expects(:create).never subject.block_user end @@ -236,7 +236,7 @@ describe SpamRule::AutoBlock do end it 'returns false if num_users_to_block_new_user is 0' do - SiteSetting.stubs(:num_users_to_block_new_user).returns(0) + SiteSetting.num_users_to_block_new_user = 0 subject.stubs(:num_spam_flags_against_user).returns(100) subject.stubs(:num_users_who_flagged_spam_against_user).returns(100) expect(subject.block?).to be_falsey diff --git a/spec/services/flag_sockpuppets_spec.rb b/spec/services/flag_sockpuppets_spec.rb index 9a647e68c69..8dcb69fa372 100644 --- a/spec/services/flag_sockpuppets_spec.rb +++ b/spec/services/flag_sockpuppets_spec.rb @@ -10,14 +10,14 @@ describe SpamRule::FlagSockpuppets do subject(:perform) { rule.perform } it 'does nothing if flag_sockpuppets is disabled' do - SiteSetting.stubs(:flag_sockpuppets).returns(false) + SiteSetting.flag_sockpuppets = false rule.expects(:reply_is_from_sockpuppet?).never rule.expects(:flag_sockpuppet_users).never expect(perform).to eq(false) end context 'flag_sockpuppets is enabled' do - before { SiteSetting.stubs(:flag_sockpuppets).returns(true) } + before { SiteSetting.flag_sockpuppets = true } it 'flags posts when it should' do rule.expects(:reply_is_from_sockpuppet?).returns(:true) diff --git a/spec/services/post_action_notifier_spec.rb b/spec/services/post_action_notifier_spec.rb index b04b7c032f4..0f6f5945250 100644 --- a/spec/services/post_action_notifier_spec.rb +++ b/spec/services/post_action_notifier_spec.rb @@ -39,7 +39,7 @@ describe PostActionNotifier do context "edit notifications are disabled" do - before { SiteSetting.stubs(:disable_edit_notifications).returns(true) } + before { SiteSetting.disable_edit_notifications = true } it 'notifies a user of the revision made by another user' do diff --git a/vendor/gems/discourse_imgur/spec/imgur_spec.rb b/vendor/gems/discourse_imgur/spec/imgur_spec.rb index b350ad5dc69..f92f53e4a11 100644 --- a/vendor/gems/discourse_imgur/spec/imgur_spec.rb +++ b/vendor/gems/discourse_imgur/spec/imgur_spec.rb @@ -1,5 +1,5 @@ -require 'spec_helper' -require 'discourse_imgur/imgur' +require 'rails_helper' +require_relative 'discourse_imgur/imgur' # /!\ WARNING /!\ # This plugin has been extracted from the Discourse source code and has not been tested. @@ -14,9 +14,9 @@ describe Imgur do let(:image_info) { FastImage.new(file) } let(:params) { [SiteSetting.imgur_endpoint, { image: Base64.encode64(file.read) }, { 'Authorization' => "ClientID #{SiteSetting.imgur_client_id}" }] } - before(:each) do - SiteSetting.stubs(:imgur_endpoint).returns("imgur_endpoint") - SiteSetting.stubs(:imgur_client_id).returns("imgur_client_id") + before do + SiteSetting.imgur_endpoint = "imgur_endpoint" + SiteSetting.imgur_client_id = "imgur_client_id" end it 'returns the url of the Imgur upload if successful' do