aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers/request_controller_spec.rb
diff options
context:
space:
mode:
authorRobin Houston <robin.houston@gmail.com>2012-06-20 13:58:05 +0100
committerRobin Houston <robin.houston@gmail.com>2012-06-20 13:58:05 +0100
commita7cc84b9b2b430644fe23e6328d7ab289e7abf0a (patch)
treef327332c83d35741405be98641fa5b474db2179f /spec/controllers/request_controller_spec.rb
parent6ef57090e436e01bc5de801bc7acb6bfadb5c490 (diff)
parent89459d3902583fa3d6dad78462d2bf2fa6f94db6 (diff)
Merge branch 'feature/public-body-api' into develop
Diffstat (limited to 'spec/controllers/request_controller_spec.rb')
-rw-r--r--spec/controllers/request_controller_spec.rb25
1 files changed, 24 insertions, 1 deletions
diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb
index c70284748..7b24e88d7 100644
--- a/spec/controllers/request_controller_spec.rb
+++ b/spec/controllers/request_controller_spec.rb
@@ -1488,7 +1488,7 @@ describe RequestController, "sending unclassified new response reminder alerts"
deliveries = ActionMailer::Base.deliveries
deliveries.size.should == 3 # sufficiently late it sends reminders too
mail = deliveries[0]
- mail.body.should =~ /To let us know/
+ mail.body.should =~ /To let everyone know/
mail.to_addrs.first.to_s.should == info_requests(:fancy_dog_request).user.name_and_email
mail.body =~ /(http:\/\/.*\/c\/(.*))/
mail_url = $1
@@ -1848,23 +1848,42 @@ end
describe RequestController, "when reporting a request" do
integrate_views
+ it "should only allow logged-in users to report requests" do
+ get :report_request, :url_title => info_requests(:badger_request).url_title
+ post_redirect = PostRedirect.get_last_post_redirect
+ response.should redirect_to(:controller => 'user', :action => 'signin', :token => post_redirect.token)
+ end
+
it "should mark a request as having been reported" do
ir = info_requests(:badger_request)
title = ir.url_title
get :show, :url_title => title
assigns[:info_request].attention_requested.should == false
+
+ session[:user_id] = users(:bob_smith_user).id
get :report_request, :url_title => title
+ response.should redirect_to(:action => :show, :url_title => title)
+
get :show, :url_title => title
+ response.should be_success
assigns[:info_request].attention_requested.should == true
assigns[:info_request].described_state.should == "attention_requested"
end
it "should not allow a request to be reported twice" do
title = info_requests(:badger_request).url_title
+
+ session[:user_id] = users(:bob_smith_user).id
get :report_request, :url_title => title
+ response.should redirect_to(:action => :show, :url_title => title)
+
get :show, :url_title => title
response.body.should include("has been reported")
+
+ session[:user_id] = users(:bob_smith_user).id
get :report_request, :url_title => title
+ response.should redirect_to(:action => :show, :url_title => title)
+
get :show, :url_title => title
response.body.should include("has already been reported")
end
@@ -1873,7 +1892,11 @@ describe RequestController, "when reporting a request" do
title = info_requests(:badger_request).url_title
get :show, :url_title => title
response.body.should include("Offensive?")
+
+ session[:user_id] = users(:bob_smith_user).id
get :report_request, :url_title => title
+ response.should redirect_to(:action => :show, :url_title => title)
+
get :show, :url_title => title
response.body.should_not include("Offensive?")
response.body.should include("This request has been reported")