diff options
-rw-r--r-- | app/controllers/request_controller.rb | 2 | ||||
-rw-r--r-- | spec/controllers/request_controller_spec.rb | 8 |
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." }, |