diff options
author | Matthew Landauer <matthew@openaustralia.org> | 2013-03-22 17:47:01 +1100 |
---|---|---|
committer | Matthew Landauer <matthew@openaustralia.org> | 2013-03-22 17:55:06 +1100 |
commit | 8c5a1ba9ed8a3d30564a178926a2729b9e9931d7 (patch) | |
tree | e1b74ce0e6d03b55c0376af2f6d73753686426a1 /spec/controllers/reports_controller_spec.rb | |
parent | 57ed2c6f014e07d242ae7ffe147c1bd215764669 (diff) |
User needs to choose a reason
Diffstat (limited to 'spec/controllers/reports_controller_spec.rb')
-rw-r--r-- | spec/controllers/reports_controller_spec.rb | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/spec/controllers/reports_controller_spec.rb b/spec/controllers/reports_controller_spec.rb index 45ee5ceba..fa8c72eaa 100644 --- a/spec/controllers/reports_controller_spec.rb +++ b/spec/controllers/reports_controller_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' describe ReportsController, "when reporting a request when not logged in" do it "should only allow logged-in users to report requests" do - post :create, :request_id => info_requests(:badger_request).url_title + post :create, :request_id => info_requests(:badger_request).url_title, :reason => "my reason" flash[:notice].should =~ /You need to be logged in/ response.should redirect_to show_request_path(:url_title => info_requests(:badger_request).url_title) @@ -28,7 +28,7 @@ describe ReportsController, "when reporting a request (logged in)" do title = ir.url_title ir.attention_requested.should == false - post :create, :request_id => title + post :create, :request_id => title, :reason => "my reason" response.should redirect_to show_request_path(:url_title => title) ir.reload @@ -46,10 +46,10 @@ describe ReportsController, "when reporting a request (logged in)" do it "should not allow a request to be reported twice" do title = info_requests(:badger_request).url_title - post :create, :request_id => title + post :create, :request_id => title, :reason => "my reason" response.should redirect_to show_request_url(:url_title => title) - post :create, :request_id => title + post :create, :request_id => title, :reason => "my reason" response.should redirect_to show_request_url(:url_title => title) flash[:notice].should =~ /has already been reported/ end @@ -57,7 +57,7 @@ describe ReportsController, "when reporting a request (logged in)" do it "should send an email from the reporter to admins" do ir = info_requests(:badger_request) title = ir.url_title - post :create, :request_id => title + post :create, :request_id => title, :reason => "my reason" deliveries = ActionMailer::Base.deliveries deliveries.size.should == 1 mail = deliveries[0] @@ -65,6 +65,16 @@ describe ReportsController, "when reporting a request (logged in)" do mail.from.should include(@user.email) mail.body.should include(@user.name) end + + it "should force the user to pick a reason" do + info_request = mock_model(InfoRequest, :report! => nil, :url_title => "foo", + :report_reasons => ["Not FOIish enough"]) + InfoRequest.should_receive(:find_by_url_title!).with("foo").and_return(info_request) + + post :create, :request_id => "foo", :reason => "" + response.should render_template("new") + flash[:error].should == "Please choose a reason" + end end describe ReportsController, "#new_report_request" do |