No need for special helper to reset SiteSetting state.

* SiteSetting in tests uses a local provider that resets it.
This commit is contained in:
Guo Xiang Tan 2017-01-28 10:55:49 +08:00
parent 7ead3e1f18
commit 0e5d490b05
4 changed files with 13 additions and 26 deletions

View File

@ -15,9 +15,9 @@ describe "Groups" do
end end
context 'when group directory is disabled' do context 'when group directory is disabled' do
site_setting(:enable_group_directory, false)
it 'should deny access' do it 'should deny access' do
SiteSetting.enable_group_directory = false
get "/groups.json" get "/groups.json"
expect(response).to be_forbidden expect(response).to be_forbidden
end end

View File

@ -5,15 +5,17 @@ require 'rails_helper'
describe SpamRulesEnforcer do describe SpamRulesEnforcer do
describe 'auto-blocking users based on flagging' do describe 'auto-blocking users based on flagging' do
site_setting(:flags_required_to_hide_post, 0)
site_setting(:num_spam_flags_to_block_new_user, 2)
site_setting(:num_users_to_block_new_user, 2)
let!(:admin) { Fabricate(:admin) } # needed to send a system message let!(:admin) { Fabricate(:admin) } # needed to send a system message
let!(:moderator) { Fabricate(:moderator) } let!(:moderator) { Fabricate(:moderator) }
let(:user1) { Fabricate(:user) } let(:user1) { Fabricate(:user) }
let(:user2) { Fabricate(:user) } let(:user2) { Fabricate(:user) }
before do
SiteSetting.flags_required_to_hide_post = 0
SiteSetting.num_spam_flags_to_block_new_user = 2
SiteSetting.num_users_to_block_new_user = 2
end
context 'spammer is a new user' do context 'spammer is a new user' do
let(:spammer) { Fabricate(:user, trust_level: TrustLevel[0]) } let(:spammer) { Fabricate(:user, trust_level: TrustLevel[0]) }
@ -86,9 +88,8 @@ describe SpamRulesEnforcer do
end end
context 'flags_required_to_hide_post takes effect too' do context 'flags_required_to_hide_post takes effect too' do
site_setting(:flags_required_to_hide_post, 2)
it 'should block the spammer' do it 'should block the spammer' do
SiteSetting.flags_required_to_hide_post = 2
PostAction.act(user2, spam_post, PostActionType.types[:spam]) PostAction.act(user2, spam_post, PostActionType.types[:spam])
expect(spammer.reload).to be_blocked expect(spammer.reload).to be_blocked
expect(Guardian.new(spammer).can_create_topic?(nil)).to be false expect(Guardian.new(spammer).can_create_topic?(nil)).to be false

View File

@ -15,9 +15,9 @@ describe Topic do
describe 'censored words' do describe 'censored words' do
describe 'when title contains censored words' do describe 'when title contains censored words' do
site_setting(:censored_words, 'pineapple|pen')
it 'should not be valid' do it 'should not be valid' do
SiteSetting.censored_words = 'pineapple|pen'
topic.title = 'pen PinEapple apple pen ' topic.title = 'pen PinEapple apple pen '
expect(topic).to_not be_valid expect(topic).to_not be_valid
@ -29,9 +29,9 @@ describe Topic do
end end
describe 'when title matches censored pattern' do describe 'when title matches censored pattern' do
site_setting(:censored_pattern, 'orange.*')
it 'should not be valid' do it 'should not be valid' do
SiteSetting.censored_pattern = 'orange.*'
topic.title = 'I have orangEjuice orange monkey orange stuff' topic.title = 'I have orangEjuice orange monkey orange stuff'
expect(topic).to_not be_valid expect(topic).to_not be_valid

View File

@ -1,20 +1,6 @@
module Helpers module Helpers
extend ActiveSupport::Concern extend ActiveSupport::Concern
class_methods do
def site_setting(setting_name, value)
original_value = SiteSetting.public_send(setting_name.to_sym)
self.before do
SiteSetting.public_send("#{setting_name}=", value)
end
self.after do
SiteSetting.public_send("#{setting_name}=", original_value)
end
end
end
def self.next_seq def self.next_seq
@next_seq = (@next_seq || 0) + 1 @next_seq = (@next_seq || 0) + 1
end end