diff --git a/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb b/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb index 2d9d635..5a371b2 100644 --- a/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +++ b/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb @@ -20,6 +20,17 @@ class <%= controller_class_name %>ControllerTest < ActionController::TestCase assert_redirected_to <%= file_name %>_path(assigns(:<%= file_name %>)) end + # FIXME: Define some validations on <%= class_name %>, then change the post parameters to fail those validations. + # FIXME: This test will fail until the post parameters are changed. + test "should not create <%= file_name %> with invalid parameters" do + assert_no_difference('<%= class_name %>.count') do + post :create, :<%= file_name %> => { } + end + + assert_response :success + assert_template 'new' + end + test "should show <%= file_name %>" do get :show, :id => <%= table_name %>(:one).id assert_response :success @@ -35,6 +46,14 @@ class <%= controller_class_name %>ControllerTest < ActionController::TestCase assert_redirected_to <%= file_name %>_path(assigns(:<%= file_name %>)) end + # FIXME: Define some validations on <%= class_name %>, then change the put parameters to fail those validations. + # FIXME: This test will fail until the put parameters are changed. + test "should not update <%= file_name %> with invalid parameters" do + put :update, :id => <%= table_name %>(:one).id, :<%= file_name %> => { } + assert_response :success + assert_template 'edit' + end + test "should destroy <%= file_name %>" do assert_difference('<%= class_name %>.count', -1) do delete :destroy, :id => <%= table_name %>(:one).id