aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/comment_controller_spec.rb
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-03-11 14:37:48 +0000
committerGareth Rees <gareth@mysociety.org>2014-03-13 11:48:43 +0000
commit73d0f361fd4e49f11b3b99db7b3dc2b06dc9e9d7 (patch)
tree6f4af5f7e1c3043d9a45e5d57ad8c6be3026d7f1 /spec/controllers/comment_controller_spec.rb
parent68a9536dc68f35965156aeb84c9f4c5bee391159 (diff)
Use filter to reject if user is banned
Extract checking whether a user is banned from making Comments on an InfoRequest to a filter in CommentController. Removes responsibility from the #new method. Adds a missing spec.
Diffstat (limited to 'spec/controllers/comment_controller_spec.rb')
-rw-r--r--spec/controllers/comment_controller_spec.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/spec/controllers/comment_controller_spec.rb b/spec/controllers/comment_controller_spec.rb
index 3ad334ab1..5e250f689 100644
--- a/spec/controllers/comment_controller_spec.rb
+++ b/spec/controllers/comment_controller_spec.rb
@@ -66,6 +66,19 @@ describe CommentController, "when commenting on a request" do
flash[:notice].should == 'Comments are not allowed on this request'
end
+ it "should not allow comments from banned users" do
+ User.any_instance.stub(:ban_text).and_return('Banned from commenting')
+
+ user = users(:silly_name_user)
+ session[:user_id] = user.id
+
+ post :new, :url_title => info_requests(:fancy_dog_request).url_title,
+ :comment => { :body => comments(:silly_comment).body },
+ :type => 'request', :submitted_comment => 1, :preview => 0
+
+ response.should render_template('user/banned')
+ end
+
describe 'when commenting on an external request' do
describe 'when responding to a GET request on a successful request' do