summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/versions_controller.rb4
-rw-r--r--test/functional/versions_controller_test.rb9
2 files changed, 13 insertions, 0 deletions
diff --git a/app/controllers/versions_controller.rb b/app/controllers/versions_controller.rb
index 48612c7b8..03af71b99 100644
--- a/app/controllers/versions_controller.rb
+++ b/app/controllers/versions_controller.rb
@@ -109,6 +109,10 @@ class VersionsController < ApplicationController
if @version.update_attributes(attributes)
flash[:notice] = l(:notice_successful_update)
redirect_to :controller => 'projects', :action => 'settings', :tab => 'versions', :id => @project
+ else
+ respond_to do |format|
+ format.html { render :action => 'edit' }
+ end
end
end
end
diff --git a/test/functional/versions_controller_test.rb b/test/functional/versions_controller_test.rb
index e4ac5c068..50f33c69f 100644
--- a/test/functional/versions_controller_test.rb
+++ b/test/functional/versions_controller_test.rb
@@ -123,6 +123,15 @@ class VersionsControllerTest < ActionController::TestCase
assert_equal 'New version name', version.name
assert_equal Date.today, version.effective_date
end
+
+ def test_post_update_with_validation_failure
+ @request.session[:user_id] = 2
+ put :update, :id => 2,
+ :version => { :name => '',
+ :effective_date => Date.today.strftime("%Y-%m-%d")}
+ assert_response :success
+ assert_template 'edit'
+ end
def test_destroy
@request.session[:user_id] = 2