diff options
Diffstat (limited to 'spec/controllers/request_controller_spec.rb')
-rw-r--r-- | spec/controllers/request_controller_spec.rb | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb index c70284748..705d96316 100644 --- a/spec/controllers/request_controller_spec.rb +++ b/spec/controllers/request_controller_spec.rb @@ -1848,12 +1848,17 @@ end describe RequestController, "when reporting a request" do integrate_views + before do + @user = users(:robin_user) + session[:user_id] = @user.id + 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 - get :report_request, :url_title => title + post :report_request, :url_title => title get :show, :url_title => title assigns[:info_request].attention_requested.should == true assigns[:info_request].described_state.should == "attention_requested" @@ -1861,10 +1866,10 @@ describe RequestController, "when reporting a request" do it "should not allow a request to be reported twice" do title = info_requests(:badger_request).url_title - get :report_request, :url_title => title + post :report_request, :url_title => title get :show, :url_title => title response.body.should include("has been reported") - get :report_request, :url_title => title + post :report_request, :url_title => title get :show, :url_title => title response.body.should include("has already been reported") end @@ -1873,7 +1878,7 @@ describe RequestController, "when reporting a request" do title = info_requests(:badger_request).url_title get :show, :url_title => title response.body.should include("Offensive?") - get :report_request, :url_title => title + post :report_request, :url_title => title get :show, :url_title => title response.body.should_not include("Offensive?") response.body.should include("This request has been reported") @@ -1883,6 +1888,16 @@ describe RequestController, "when reporting a request" do response.body.should include("The site administrators have reviewed this request") end + it "should send an email from the reporter to admins" do + ir = info_requests(:badger_request) + title = ir.url_title + post :report_request, :url_title => title + deliveries = ActionMailer::Base.deliveries + deliveries.size.should == 1 + mail = deliveries[0] + mail.subject.should =~ /attention_requested/ + mail.from.should include(@user.email) + end end |