aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/request_controller.rb2
-rw-r--r--spec/controllers/request_controller_spec.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index 82697b792..b2d228494 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -297,7 +297,7 @@ class RequestController < ApplicationController
# We don't want the error "Outgoing messages is invalid", as in this
# case the list of errors will also contain a more specific error
# describing the reason it is invalid.
- @info_request.errors.delete("outgoing_messages")
+ @info_request.errors.delete(:outgoing_messages)
render :action => 'new'
return
diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb
index d190b0db7..def9dfc7e 100644
--- a/spec/controllers/request_controller_spec.rb
+++ b/spec/controllers/request_controller_spec.rb
@@ -1065,6 +1065,14 @@ describe RequestController, "when creating a new request" do
response.should render_template('new')
end
+ it 'should display one meaningful error message when no message body is added' do
+ post :new, :info_request => { :public_body_id => @body.id },
+ :outgoing_message => { :body => "" },
+ :submitted_new_request => 1, :preview => 1
+ assigns[:info_request].errors.full_messages.should_not include('Outgoing messages is invalid')
+ assigns[:outgoing_message].errors.full_messages.should include('Body Please enter your letter requesting information')
+ end
+
it "should give an error and render 'new' template when a summary isn't given" do
post :new, :info_request => { :public_body_id => @body.id },
:outgoing_message => { :body => "This is a silly letter. It is too short to be interesting." },