aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Houston <robin.houston@gmail.com>2012-06-07 15:22:11 +0100
committerRobin Houston <robin.houston@gmail.com>2012-06-07 15:22:11 +0100
commit7e00dbd24942de1102201aeb150c01b76a9ef8be (patch)
tree9349160c7d148646670318cc725276ef49a05bca
parentba6ac2c8e71fc8694db274a8f7ef187766656fb9 (diff)
Update tests to reflect code changes
Since users must now be logged-in to report requests, the tests need to reflect this.
-rw-r--r--spec/controllers/request_controller_spec.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb
index 24ea0dfdd..7b24e88d7 100644
--- a/spec/controllers/request_controller_spec.rb
+++ b/spec/controllers/request_controller_spec.rb
@@ -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")