aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/comment_controller_spec.rb
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-03-11 12:53:49 +0000
committerGareth Rees <gareth@mysociety.org>2014-03-13 11:48:42 +0000
commit550ed0aa483d0b31a6f844a728340e5a81a753ed (patch)
tree405579c695fcea83e9a0c3bdd4881b6d50b2dbc0 /spec/controllers/comment_controller_spec.rb
parent80a09e95566e37224f2fac72d83639bbec70d77d (diff)
Graceful failure of new_comment route
Fixes https://github.com/mysociety/alaveteli/issues/662 If /annotate/request/:url_title is accessed when comments are disabled an exception is incorrectly thrown. Conditionals should be used for control flow, so now the action redirects to the info_request path and displays a notice.
Diffstat (limited to 'spec/controllers/comment_controller_spec.rb')
-rw-r--r--spec/controllers/comment_controller_spec.rb19
1 files changed, 10 insertions, 9 deletions
diff --git a/spec/controllers/comment_controller_spec.rb b/spec/controllers/comment_controller_spec.rb
index c03615ce2..3ad334ab1 100644
--- a/spec/controllers/comment_controller_spec.rb
+++ b/spec/controllers/comment_controller_spec.rb
@@ -53,16 +53,17 @@ describe CommentController, "when commenting on a request" do
response.should render_template('new')
end
-
+
it "should not allow comments if comments are not allowed" do
- session[:user_id] = users(:silly_name_user).id
-
- expect {
- post :new, :url_title => info_requests(:spam_1_request).url_title,
- :comment => { :body => "I demand to be heard!" },
- :type => 'request', :submitted_comment => 1, :preview => 0
- }.to raise_error("Comments are not allowed on this request")
-
+ session[:user_id] = users(:silly_name_user).id
+ info_request = info_requests(:spam_1_request)
+
+ post :new, :url_title => info_request.url_title,
+ :comment => { :body => "I demand to be heard!" },
+ :type => 'request', :submitted_comment => 1, :preview => 0
+
+ response.should redirect_to(show_request_path(info_request.url_title))
+ flash[:notice].should == 'Comments are not allowed on this request'
end
describe 'when commenting on an external request' do