aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2013-10-24 18:07:48 +0100
committerLouise Crow <louise.crow@gmail.com>2013-12-04 09:32:43 +0000
commit0fdfad30f1232458ffcd624c893387ce300b49bb (patch)
treee4afbe7da5c50c541b6634a04aa678e06553cad5 /spec/controllers
parentce262657761c1c47c47e2f6cc7bf683543ebbdb7 (diff)
Notices for success and errors.
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/request_controller_spec.rb50
1 files changed, 34 insertions, 16 deletions
diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb
index c61e0c780..be5a97776 100644
--- a/spec/controllers/request_controller_spec.rb
+++ b/spec/controllers/request_controller_spec.rb
@@ -2565,24 +2565,42 @@ describe RequestController, "#new_batch", :focus => true do
response.should render_template('new')
end
- it 'should create an info request batch and redirect to the new batch on success' do
- params = @default_post_params.merge(:preview => 0)
- post :new_batch, params, { :user_id => @user.id }
- new_info_request_batch = assigns[:info_request_batch]
- new_info_request_batch.should_not be_nil
- response.should redirect_to(info_request_batch_path(new_info_request_batch))
- end
+ context "on success" do
- it 'should prevent double submission of a batch request' do
- params = @default_post_params.merge(:preview => 0)
- post :new_batch, params, { :user_id => @user.id }
- new_info_request_batch = assigns[:info_request_batch]
- response.should redirect_to(info_request_batch_path(new_info_request_batch))
- post :new_batch, params, { :user_id => @user.id }
- response.should render_template('new')
- assigns[:existing_batch].should_not be_nil
- end
+ def make_request
+ @params = @default_post_params.merge(:preview => 0)
+ post :new_batch, @params, { :user_id => @user.id }
+ end
+
+ it 'should create an info request batch and redirect to the new batch on success' do
+ make_request
+ new_info_request_batch = assigns[:info_request_batch]
+ new_info_request_batch.should_not be_nil
+ response.should redirect_to(info_request_batch_path(new_info_request_batch))
+ end
+ it 'should prevent double submission of a batch request' do
+ make_request
+ post :new_batch, @params, { :user_id => @user.id }
+ response.should render_template('new')
+ assigns[:existing_batch].should_not be_nil
+ end
+
+ it 'should display a success notice' do
+ make_request
+ notice_text = "<p>Your Freedom of Information requests have been <strong>sent</strong>!</p>"
+ flash[:notice].should match notice_text
+ end
+
+ it 'should display notes about any bodies that could not be included' do
+ @other_public_body.request_email = ''
+ @other_public_body.save!
+ make_request
+ error_text = "Unfortunately, we do not have a working address for #{@other_public_body.name}."
+ flash[:error].should match error_text
+ end
+
+ end
context "when the user is banned" do