From 2cbf5cce86dc4afb451ee5774e4a5869691bc31f Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Sun, 7 Jan 2024 13:37:17 -0500 Subject: [PATCH] fix: mailer generation with namespaces Fixes #272 --- .../mailer/templates/layout.html.erb.tt | 13 ++++++++ .../mailer/templates/layout.text.erb.tt | 1 + .../tailwindcss/mailer_generator_test.rb | 32 ++++++++++++++++++- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 lib/generators/tailwindcss/mailer/templates/layout.html.erb.tt create mode 100644 lib/generators/tailwindcss/mailer/templates/layout.text.erb.tt diff --git a/lib/generators/tailwindcss/mailer/templates/layout.html.erb.tt b/lib/generators/tailwindcss/mailer/templates/layout.html.erb.tt new file mode 100644 index 00000000..116e625b --- /dev/null +++ b/lib/generators/tailwindcss/mailer/templates/layout.html.erb.tt @@ -0,0 +1,13 @@ + + + + + + + + + <%%= yield %> + + diff --git a/lib/generators/tailwindcss/mailer/templates/layout.text.erb.tt b/lib/generators/tailwindcss/mailer/templates/layout.text.erb.tt new file mode 100644 index 00000000..6363733e --- /dev/null +++ b/lib/generators/tailwindcss/mailer/templates/layout.text.erb.tt @@ -0,0 +1 @@ +<%%= yield %> diff --git a/test/lib/generators/tailwindcss/mailer_generator_test.rb b/test/lib/generators/tailwindcss/mailer_generator_test.rb index db604bd3..a8a65d96 100644 --- a/test/lib/generators/tailwindcss/mailer_generator_test.rb +++ b/test/lib/generators/tailwindcss/mailer_generator_test.rb @@ -3,7 +3,7 @@ require "generators/tailwindcss/mailer/mailer_generator" class Tailwindcss::Generators::MailerGeneratorTest < Rails::Generators::TestCase - tests Rails::Generators::MailerGenerator + tests Tailwindcss::Generators::MailerGenerator destination Dir.mktmpdir arguments %w(Notifications invoice) @@ -20,6 +20,36 @@ class Tailwindcss::Generators::MailerGeneratorTest < Rails::Generators::TestCase assert_match %r(app/views/notifications_mailer/invoice\.text\.erb), view assert_match(/\= @greeting/, view) end + + assert_file "app/views/layouts/mailer.text.erb" do |view| + assert_match("<%= yield %>", view) + end + + assert_file "app/views/layouts/mailer.html.erb" do |view| + assert_match("<%= yield %>", view) + end + end + + test "generates correct mailer view templates with namespace" do + run_generator ["admin/notifications", "invoice"] + + assert_file "app/views/admin/notifications_mailer/invoice.html.erb" do |view| + assert_match %r(app/views/admin/notifications_mailer/invoice\.html\.erb), view + assert_match(/\= @greeting/, view) + end + + assert_file "app/views/admin/notifications_mailer/invoice.text.erb" do |view| + assert_match %r(app/views/admin/notifications_mailer/invoice\.text\.erb), view + assert_match(/\= @greeting/, view) + end + + assert_file "app/views/layouts/admin/mailer.text.erb" do |view| + assert_match("<%= yield %>", view) + end + + assert_file "app/views/layouts/admin/mailer.html.erb" do |view| + assert_match("<%= yield %>", view) + end end end