diff options
author | Eileen M. Uchitelle <eileencodes@users.noreply.github.com> | 2017-06-30 11:01:02 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-30 11:01:02 -0400 |
commit | 6671340d586d419107952a756039db0c258d095f (patch) | |
tree | 52027d0e907213723c37a00509711400afa49de1 /railties/test/generators | |
parent | 5fe2a4f929fff7fa725545c47ac0f9372d8c643d (diff) | |
parent | d502cd1a5024743b3891592c73538d4e446bbd98 (diff) | |
download | rails-6671340d586d419107952a756039db0c258d095f.tar.gz rails-6671340d586d419107952a756039db0c258d095f.tar.bz2 rails-6671340d586d419107952a756039db0c258d095f.zip |
Merge pull request #29418 from dinahshi/scaffold_system_tests
Add system tests to generate scaffold
Diffstat (limited to 'railties/test/generators')
-rw-r--r-- | railties/test/generators/app_generator_test.rb | 4 | ||||
-rw-r--r-- | railties/test/generators/scaffold_generator_test.rb | 34 |
2 files changed, 36 insertions, 2 deletions
diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 8a8c9a35ce..9364f11a98 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -437,7 +437,7 @@ class AppGeneratorTest < Rails::Generators::TestCase end def test_generator_if_skip_system_test_is_given - run_generator [destination_root, "--skip_system_test"] + run_generator [destination_root, "--skip-system-test"] assert_file "Gemfile" do |content| assert_no_match(/capybara/, content) assert_no_match(/selenium-webdriver/, content) @@ -445,7 +445,7 @@ class AppGeneratorTest < Rails::Generators::TestCase end def test_does_not_generate_system_test_files_if_skip_system_test_is_given - run_generator [destination_root, "--skip_system_test"] + run_generator [destination_root, "--skip-system-test"] Dir.chdir(destination_root) do quietly { `./bin/rails g scaffold User` } diff --git a/railties/test/generators/scaffold_generator_test.rb b/railties/test/generators/scaffold_generator_test.rb index bc76cead18..9926d58d16 100644 --- a/railties/test/generators/scaffold_generator_test.rb +++ b/railties/test/generators/scaffold_generator_test.rb @@ -65,6 +65,9 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase # System tests assert_file "test/system/product_lines_test.rb" do |test| assert_match(/class ProductLinesTest < ApplicationSystemTestCase/, test) + assert_match(/visit product_lines_url/, test) + assert_match(/fill_in "Title", with: @product_line\.title/, test) + assert_match(/assert_text "Product line was successfully updated"/, test) end # Views @@ -146,6 +149,9 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert_no_match(/assert_redirected_to/, test) end + # System tests + assert_no_file "test/system/product_lines_test.rb" + # Views assert_no_file "app/views/layouts/product_lines.html.erb" @@ -173,6 +179,16 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase end end + def test_system_tests_without_attributes + run_generator ["product_line"] + + assert_file "test/system/product_lines_test.rb" do |content| + assert_match(/class ProductLinesTest < ApplicationSystemTestCase/, content) + assert_match(/test "visiting the index"/, content) + assert_no_match(/fill_in/, content) + end + end + def test_scaffold_on_revoke run_generator run_generator ["product_line"], behavior: :revoke @@ -192,6 +208,9 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert_no_file "app/controllers/product_lines_controller.rb" assert_no_file "test/controllers/product_lines_controller_test.rb" + # System tests + assert_no_file "test/system/product_lines_test.rb" + # Views assert_no_file "app/views/product_lines" assert_no_file "app/views/layouts/product_lines.html.erb" @@ -257,6 +276,9 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert_file "test/controllers/admin/roles_controller_test.rb", /class Admin::RolesControllerTest < ActionDispatch::IntegrationTest/ + assert_file "test/system/admin/roles_test.rb", + /class Admin::RolesTest < ApplicationSystemTestCase/ + # Views %w(index edit new show _form).each do |view| assert_file "app/views/admin/roles/#{view}.html.erb" @@ -292,6 +314,9 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert_no_file "app/controllers/admin/roles_controller.rb" assert_no_file "test/controllers/admin/roles_controller_test.rb" + # System tests + assert_no_file "test/system/admin/roles_test.rb" + # Views assert_no_file "app/views/admin/roles" assert_no_file "app/views/layouts/admin/roles.html.erb" @@ -478,6 +503,11 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert_match(/password_confirmation: 'secret'/, content) end + assert_file "test/system/users_test.rb" do |content| + assert_match(/fill_in "Password", with: 'secret'/, content) + assert_match(/fill_in "Password Confirmation", with: 'secret'/, content) + end + assert_file "test/fixtures/users.yml" do |content| assert_match(/password_digest: <%= BCrypt::Password.create\('secret'\) %>/, content) end @@ -573,6 +603,8 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert File.exist?("app/controllers/bukkits/users_controller.rb") assert File.exist?("test/controllers/bukkits/users_controller_test.rb") + assert File.exist?("test/system/bukkits/users_test.rb") + assert File.exist?("app/views/bukkits/users/index.html.erb") assert File.exist?("app/views/bukkits/users/edit.html.erb") assert File.exist?("app/views/bukkits/users/show.html.erb") @@ -601,6 +633,8 @@ class ScaffoldGeneratorTest < Rails::Generators::TestCase assert_not File.exist?("app/controllers/bukkits/users_controller.rb") assert_not File.exist?("test/controllers/bukkits/users_controller_test.rb") + assert_not File.exist?("test/system/bukkits/users_test.rb") + assert_not File.exist?("app/views/bukkits/users/index.html.erb") assert_not File.exist?("app/views/bukkits/users/edit.html.erb") assert_not File.exist?("app/views/bukkits/users/show.html.erb") |