FEATURE: Support an end date for user silencing

This commit is contained in:
Robin Ward
2017-11-13 13:41:36 -05:00
parent 52480d554a
commit 971e302ff2
33 changed files with 456 additions and 114 deletions

View File

@@ -275,7 +275,7 @@ describe SpamRule::AutoSilence do
end
context "silenced, but has higher trust level now" do
let(:user) { Fabricate(:user, silenced: true, trust_level: TrustLevel[1]) }
let(:user) { Fabricate(:user, silenced_till: 1.year.from_now, trust_level: TrustLevel[1]) }
subject { described_class.new(user) }
it 'returns false' do

View File

@@ -7,8 +7,8 @@ describe UserSilencer do
end
describe 'silence' do
let(:user) { stub_everything(save: true) }
let(:silencer) { UserSilencer.new(user) }
let(:user) { Fabricate(:user) }
let(:silencer) { UserSilencer.new(user) }
subject(:silence_user) { silencer.silence }
it 'silences the user' do
@@ -53,7 +53,7 @@ describe UserSilencer do
end
it "doesn't send a pm if the user is already silenced" do
user.stubs(:silenced?).returns(true)
user.silenced_till = 1.year.from_now
SystemMessage.unstub(:create)
SystemMessage.expects(:create).never
expect(silence_user).to eq(false)
@@ -73,7 +73,7 @@ describe UserSilencer do
subject(:unsilence_user) { UserSilencer.unsilence(user, Fabricate.build(:admin)) }
it 'unsilences the user' do
u = Fabricate(:user, silenced: true)
u = Fabricate(:user, silenced_till: 1.year.from_now)
expect { UserSilencer.unsilence(u) }.to change { u.reload.silenced? }
end