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