aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--railties/test/generators/app_generator_test.rb27
1 files changed, 24 insertions, 3 deletions
diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb
index decea77d48..96803db838 100644
--- a/railties/test/generators/app_generator_test.rb
+++ b/railties/test/generators/app_generator_test.rb
@@ -746,17 +746,38 @@ class AppGeneratorTest < Rails::Generators::TestCase
def test_webpack_option
command_check = -> command, *_ do
@called ||= 0
- @called += 1 if command == "webpacker:install"
- assert_equal 1, @called, "webpacker:install expected to be called once, but was called #{@called} times."
+ if command == "webpacker:install"
+ @called += 1
+ assert_equal 1, @called, "webpacker:install expected to be called once, but was called #{@called} times."
+ end
end
- generator([destination_root], webpack: true).stub(:rails_command, command_check) do
+ generator([destination_root], webpack: "webpack").stub(:rails_command, command_check) do
quietly { generator.invoke_all }
end
assert_gem "webpacker"
end
+ def test_webpack_option_with_js_framework
+ command_check = -> command, *_ do
+ case command
+ when "webpacker:install"
+ @webpacker ||= 0
+ @webpacker += 1
+ assert_equal 1, @webpacker, "webpacker:install expected to be called once, but was called #{@webpacker} times."
+ when "webpacker:install:react"
+ @react ||= 0
+ @react += 1
+ assert_equal 1, @react, "webpacker:install:react expected to be called once, but was called #{@react} times."
+ end
+ end
+
+ generator([destination_root], webpack: "react").stub(:rails_command, command_check) do
+ quietly { generator.invoke_all }
+ end
+ end
+
def test_generator_if_skip_turbolinks_is_given
run_generator [destination_root, "--skip-turbolinks"]