mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Add namespacing to mailer generator
Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
parent
7acf64a81b
commit
51c7660e08
3 changed files with 56 additions and 0 deletions
|
@ -1,3 +1,4 @@
|
|||
<% module_namespacing do -%>
|
||||
class <%= class_name %> < ActionMailer::Base
|
||||
default :from => "from@example.com"
|
||||
<% for action in actions -%>
|
||||
|
@ -14,3 +15,4 @@ class <%= class_name %> < ActionMailer::Base
|
|||
end
|
||||
<% end -%>
|
||||
end
|
||||
<% end -%>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
require 'test_helper'
|
||||
|
||||
<% module_namespacing do -%>
|
||||
class <%= class_name %>Test < ActionMailer::TestCase
|
||||
<% for action in actions -%>
|
||||
test "<%= action %>" do
|
||||
|
@ -18,3 +19,4 @@ class <%= class_name %>Test < ActionMailer::TestCase
|
|||
end
|
||||
<% end -%>
|
||||
end
|
||||
<% end -%>
|
||||
|
|
|
@ -2,6 +2,7 @@ require 'generators/generators_test_helper'
|
|||
require 'rails/generators/rails/controller/controller_generator'
|
||||
require 'rails/generators/rails/model/model_generator'
|
||||
require 'rails/generators/rails/observer/observer_generator'
|
||||
require 'rails/generators/mailer/mailer_generator'
|
||||
|
||||
class NamespacedGeneratorTestCase < Rails::Generators::TestCase
|
||||
def setup
|
||||
|
@ -150,3 +151,54 @@ class NamespacedObserverGeneratorTest < NamespacedGeneratorTestCase
|
|||
assert_file "test/unit/test_app/account_observer_test.rb", /module TestApp/, / class AccountObserverTest < ActiveSupport::TestCase/
|
||||
end
|
||||
end
|
||||
|
||||
class NamespacedMailerGeneratorTest < NamespacedGeneratorTestCase
|
||||
include GeneratorsTestHelper
|
||||
arguments %w(notifier foo bar)
|
||||
tests Rails::Generators::MailerGenerator
|
||||
|
||||
def test_mailer_skeleton_is_created
|
||||
run_generator
|
||||
assert_file "app/mailers/test_app/notifier.rb" do |mailer|
|
||||
assert_match /module TestApp/, mailer
|
||||
assert_match /class Notifier < ActionMailer::Base/, mailer
|
||||
assert_match /default :from => "from@example.com"/, mailer
|
||||
end
|
||||
end
|
||||
|
||||
def test_mailer_with_i18n_helper
|
||||
run_generator
|
||||
assert_file "app/mailers/test_app/notifier.rb" do |mailer|
|
||||
assert_match /en\.notifier\.foo\.subject/, mailer
|
||||
assert_match /en\.notifier\.bar\.subject/, mailer
|
||||
end
|
||||
end
|
||||
|
||||
def test_invokes_default_test_framework
|
||||
run_generator
|
||||
assert_file "test/functional/test_app/notifier_test.rb" do |test|
|
||||
assert_match /module TestApp/, test
|
||||
assert_match /class NotifierTest < ActionMailer::TestCase/, test
|
||||
assert_match /test "foo"/, test
|
||||
assert_match /test "bar"/, test
|
||||
end
|
||||
end
|
||||
|
||||
def test_invokes_default_template_engine
|
||||
run_generator
|
||||
assert_file "app/views/test_app/notifier/foo.text.erb" do |view|
|
||||
assert_match %r(app/views/test_app/notifier/foo\.text\.erb), view
|
||||
assert_match /<%= @greeting %>/, view
|
||||
end
|
||||
|
||||
assert_file "app/views/test_app/notifier/bar.text.erb" do |view|
|
||||
assert_match %r(app/views/test_app/notifier/bar\.text\.erb), view
|
||||
assert_match /<%= @greeting %>/, view
|
||||
end
|
||||
end
|
||||
|
||||
def test_invokes_default_template_engine_even_with_no_action
|
||||
run_generator ["notifier"]
|
||||
assert_file "app/views/test_app/notifier"
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue