diff options
author | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2016-05-13 15:02:36 +0900 |
---|---|---|
committer | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2016-05-15 08:11:07 +0900 |
commit | f0f4cb2f64566020b6edd48e0a81fd744ffc2e4c (patch) | |
tree | 644921c350b84d31de3dd3a7795543532c5597d7 /railties/test | |
parent | 0991c4c6fc0c04764f34c6b65a42adce190440c3 (diff) | |
download | rails-f0f4cb2f64566020b6edd48e0a81fd744ffc2e4c.tar.gz rails-f0f4cb2f64566020b6edd48e0a81fd744ffc2e4c.tar.bz2 rails-f0f4cb2f64566020b6edd48e0a81fd744ffc2e4c.zip |
generate mailer layout files if it does not already exist
Currently, if `ApplicationMailer` does not exist, it is generated when
run the mailer generator, but layouts files does not generate.
However, because it uses the layouts in `ApplicationMailer`,
layouts are required.
Follow up to #24161
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/generators/mailer_generator_test.rb | 8 | ||||
-rw-r--r-- | railties/test/generators/plugin_generator_test.rb | 15 |
2 files changed, 23 insertions, 0 deletions
diff --git a/railties/test/generators/mailer_generator_test.rb b/railties/test/generators/mailer_generator_test.rb index 8728b39dae..6a4951840d 100644 --- a/railties/test/generators/mailer_generator_test.rb +++ b/railties/test/generators/mailer_generator_test.rb @@ -84,6 +84,10 @@ class MailerGeneratorTest < Rails::Generators::TestCase assert_match(%r(\sapp/views/notifier_mailer/bar\.text\.erb), view) assert_match(/<%= @greeting %>/, view) end + + assert_file "app/views/layouts/mailer.text.erb" do |view| + assert_match(/<%= yield %>/, view) + end end def test_invokes_default_html_template_engine @@ -97,6 +101,10 @@ class MailerGeneratorTest < Rails::Generators::TestCase assert_match(%r(\sapp/views/notifier_mailer/bar\.html\.erb), view) assert_match(/<%= @greeting %>/, view) end + + assert_file "app/views/layouts/mailer.html.erb" do |view| + assert_match(%r{<body>\n <%= yield %>\n </body>}, view) + end end def test_invokes_default_template_engine_even_with_no_action diff --git a/railties/test/generators/plugin_generator_test.rb b/railties/test/generators/plugin_generator_test.rb index 3cc8e1de55..5dd4cce28a 100644 --- a/railties/test/generators/plugin_generator_test.rb +++ b/railties/test/generators/plugin_generator_test.rb @@ -669,6 +669,21 @@ class PluginGeneratorTest < Rails::Generators::TestCase end end + def test_generate_mailer_layouts_when_does_not_exist_in_mountable_engine + run_generator [destination_root, '--mountable'] + capture(:stdout) do + `#{destination_root}/bin/rails g mailer User` + end + + assert_file "#{destination_root}/app/views/layouts/bukkits/mailer.text.erb" do |view| + assert_match(/<%= yield %>/, view) + end + + assert_file "#{destination_root}/app/views/layouts/bukkits/mailer.html.erb" do |view| + assert_match(%r{<body>\n <%= yield %>\n </body>}, view) + end + end + def test_generate_application_job_when_does_not_exist_in_mountable_engine run_generator [destination_root, '--mountable'] FileUtils.rm "#{destination_root}/app/jobs/bukkits/application_job.rb" |