Refactor user blocking code; hide the Block button in admin

This commit is contained in:
Neil Lalonde
2013-07-02 14:42:30 -04:00
parent fab1be7c8e
commit 075ed1ab53
8 changed files with 168 additions and 70 deletions

View File

@ -191,13 +191,13 @@ describe Admin::UsersController do
context 'block' do
before do
@user = Fabricate(:user)
@reg_user = Fabricate(:user)
end
it "raises an error when the user doesn't have permission" do
Guardian.any_instance.expects(:can_block_user?).with(@user).returns(false)
SpamRulesEnforcer.expects(:punish!).never
xhr :put, :block, user_id: @user.id
Guardian.any_instance.expects(:can_block_user?).with(@reg_user).returns(false)
UserBlocker.expects(:block).never
xhr :put, :block, user_id: @reg_user.id
response.should be_forbidden
end
@ -207,19 +207,19 @@ describe Admin::UsersController do
end
it "punishes the user for spamming" do
SpamRulesEnforcer.expects(:punish!).with(@user)
xhr :put, :block, user_id: @user.id
UserBlocker.expects(:block).with(@reg_user, @user, anything)
xhr :put, :block, user_id: @reg_user.id
end
end
context 'unblock' do
before do
@user = Fabricate(:user)
@reg_user = Fabricate(:user)
end
it "raises an error when the user doesn't have permission" do
Guardian.any_instance.expects(:can_unblock_user?).with(@user).returns(false)
xhr :put, :unblock, user_id: @user.id
Guardian.any_instance.expects(:can_unblock_user?).with(@reg_user).returns(false)
xhr :put, :unblock, user_id: @reg_user.id
response.should be_forbidden
end
@ -229,8 +229,8 @@ describe Admin::UsersController do
end
it "punishes the user for spamming" do
SpamRulesEnforcer.expects(:clear).with(@user)
xhr :put, :unblock, user_id: @user.id
UserBlocker.expects(:unblock).with(@reg_user, @user, anything)
xhr :put, :unblock, user_id: @reg_user.id
end
end