Skip to content

Commit

Permalink
Add actionmailer bug report template
Browse files Browse the repository at this point in the history
Introduce Action Mailer bug report templates for contributors to reproduce
issues with failing `ActionMailer::TestCase` instances.
  • Loading branch information
seanpdoyle committed Nov 10, 2023
1 parent c37efa1 commit 8c59387
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 0 deletions.
40 changes: 40 additions & 0 deletions guides/bug_report_templates/action_mailer_gem.rb
@@ -0,0 +1,40 @@
# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
source "https://rubygems.org"

git_source(:github) { |repo| "https://github.com/#{repo}.git" }

# Activate the gem you are reporting the issue against.
gem "rails", "~> 7.1.0"
end

require "action_mailer/railtie"

class TestMailer < ActionMailer::Base
def hello_world
@message = "Hello, world"

mail from: "test@example.com", to: "user@example.com" do |format|
format.html { render inline: "<h1><%= @message %></h1>" }
format.text { render inline: "<%= @message %>" }
end
end
end

require "minitest/autorun"

class BugTest < ActionMailer::TestCase
test "renders HTML and Text body" do
email = TestMailer.hello_world

email.deliver_now

assert_dom_email do
assert_dom "h1", text: "Hello, world"
end
assert_includes email.text_part.body, "Hello, world"
end
end
39 changes: 39 additions & 0 deletions guides/bug_report_templates/action_mailer_main.rb
@@ -0,0 +1,39 @@
# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
source "https://rubygems.org"

git_source(:github) { |repo| "https://github.com/#{repo}.git" }

gem "rails", github: "rails/rails", branch: "main"
end

require "action_mailer/railtie"

class TestMailer < ActionMailer::Base
def hello_world
@message = "Hello, world"

mail from: "test@example.com", to: "user@example.com" do |format|
format.html { render inline: "<h1><%= @message %></h1>" }
format.text { render inline: "<%= @message %>" }
end
end
end

require "minitest/autorun"

class BugTest < ActionMailer::TestCase
test "renders HTML and Text body" do
email = TestMailer.hello_world

email.deliver_now

assert_dom_email do
assert_dom "h1", text: "Hello, world"
end
assert_includes email.text_part.body, "Hello, world"
end
end
1 change: 1 addition & 0 deletions guides/source/contributing_to_ruby_on_rails.md
Expand Up @@ -44,6 +44,7 @@ Having a way to reproduce your issue will help people confirm, investigate, and
* Template for Action Pack (controllers, routing) issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_controller_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_controller_main.rb)
* Template for Active Job issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/active_job_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/active_job_main.rb)
* Template for Active Storage issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/active_storage_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/active_storage_main.rb)
* Template for Action Mailer issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_mailer_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_mailer_main.rb)
* Template for Action Mailbox issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_mailbox_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_mailbox_main.rb)
* Generic template for other issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/generic_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/generic_main.rb)

Expand Down

0 comments on commit 8c59387

Please sign in to comment.