mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Prevent generating tests with non-existent routes
This ensures generated tests are not broken by default when invoking the controller generator with one or more actions and "--skip-routes".
This commit is contained in:
parent
4fe767535d
commit
ed67b71e5b
3 changed files with 10 additions and 1 deletions
|
@ -6,6 +6,8 @@ module TestUnit # :nodoc:
|
|||
module Generators # :nodoc:
|
||||
class ControllerGenerator < Base # :nodoc:
|
||||
argument :actions, type: :array, default: [], banner: "action action"
|
||||
class_option :skip_routes, type: :boolean
|
||||
|
||||
check_class_collision suffix: "ControllerTest"
|
||||
|
||||
def create_test_files
|
||||
|
|
|
@ -6,7 +6,7 @@ class <%= class_name %>ControllerTest < ActionDispatch::IntegrationTest
|
|||
include Engine.routes.url_helpers
|
||||
|
||||
<% end -%>
|
||||
<% if actions.empty? -%>
|
||||
<% if actions.empty? || options[:skip_routes] -%>
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
|
|
|
@ -75,6 +75,13 @@ class ControllerGeneratorTest < Rails::Generators::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_skip_routes_prevents_generating_tests_with_routes
|
||||
run_generator ["account", "foo", "--skip-routes"]
|
||||
assert_file "test/controllers/account_controller_test.rb" do |controller_test|
|
||||
assert_no_match(/account_foo_(url|path)/, controller_test)
|
||||
end
|
||||
end
|
||||
|
||||
def test_invokes_default_template_engine_even_with_no_action
|
||||
run_generator ["account"]
|
||||
assert_file "app/views/account"
|
||||
|
|
Loading…
Reference in a new issue