More work on generated mailer templates.
This commit is contained in:
parent
f14390091c
commit
1b3cb54eba
|
@ -12,7 +12,7 @@ module Erb
|
|||
def create_view_files
|
||||
actions.each do |action|
|
||||
@action, @path = action, File.join(file_path, action)
|
||||
template "view.erb", File.join("app/views", "#{@path}.erb")
|
||||
template "view.text.erb", File.join("app/views", "#{@path}.text.erb")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
class <%= class_name %> < ActionMailer::Base
|
||||
delivers_from "mail@<%= application_name %>.com"
|
||||
delivers_from "from@example.com"
|
||||
<% for action in actions -%>
|
||||
|
||||
# Subject can be set in your I18n file at config/locales/en.yml
|
||||
|
@ -9,7 +9,7 @@ class <%= class_name %> < ActionMailer::Base
|
|||
#
|
||||
def <%= action %>
|
||||
@greeting = "Hi"
|
||||
mail(:to => "")
|
||||
mail(:to => "to@example.com")
|
||||
end
|
||||
<% end -%>
|
||||
end
|
|
@ -3,17 +3,13 @@ require 'test_helper'
|
|||
class <%= class_name %>Test < ActionMailer::TestCase
|
||||
<% for action in actions -%>
|
||||
test "<%= action %>" do
|
||||
@actual = <%= class_name %>.<%= action %>
|
||||
|
||||
@expected.subject = <%= action.to_s.humanize.inspect %>
|
||||
@expected.to = "to@example.com"
|
||||
@expected.from = "from@example.com"
|
||||
@expected.body = read_fixture("<%= action %>")
|
||||
@expected.date = Time.now
|
||||
|
||||
assert_difference "<%= class_name %>.deliveries.size" do
|
||||
@actual.deliver
|
||||
end
|
||||
|
||||
assert_equal @expected.encoded, @actual.encoded
|
||||
assert_equal @expected, <%= class_name %>.<%= action %>
|
||||
end
|
||||
|
||||
<% end -%>
|
||||
|
|
|
@ -6,11 +6,10 @@ class MailerGeneratorTest < Rails::Generators::TestCase
|
|||
arguments %w(notifier foo bar)
|
||||
|
||||
def test_mailer_skeleton_is_created
|
||||
Rails.stubs(:application).returns(Object.new)
|
||||
run_generator
|
||||
assert_file "app/mailers/notifier.rb" do |mailer|
|
||||
assert_match /class Notifier < ActionMailer::Base/, mailer
|
||||
assert_match /delivers_from "mail@object.com"/, mailer
|
||||
assert_match /delivers_from "from@example.com"/, mailer
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -36,12 +35,12 @@ class MailerGeneratorTest < Rails::Generators::TestCase
|
|||
|
||||
def test_invokes_default_template_engine
|
||||
run_generator
|
||||
assert_file "app/views/notifier/foo.erb" do |view|
|
||||
assert_file "app/views/notifier/foo.text.erb" do |view|
|
||||
assert_match /app\/views\/notifier\/foo/, view
|
||||
assert_match /<%= @greeting %>/, view
|
||||
end
|
||||
|
||||
assert_file "app/views/notifier/bar.erb" do |view|
|
||||
assert_file "app/views/notifier/bar.text.erb" do |view|
|
||||
assert_match /app\/views\/notifier\/bar/, view
|
||||
assert_match /<%= @greeting %>/, view
|
||||
end
|
||||
|
@ -62,12 +61,12 @@ class MailerGeneratorTest < Rails::Generators::TestCase
|
|||
|
||||
assert_file "app/mailers/notifier.rb" do |mailer|
|
||||
assert_instance_method :foo, mailer do |foo|
|
||||
assert_match /mail\(:to => ""\)/, foo
|
||||
assert_match /mail\(:to => "to@example.com"\)/, foo
|
||||
assert_match /@greeting = "Hi"/, foo
|
||||
end
|
||||
|
||||
assert_instance_method :bar, mailer do |bar|
|
||||
assert_match /mail\(:to => ""\)/, bar
|
||||
assert_match /mail\(:to => "to@example.com"\)/, bar
|
||||
assert_match /@greeting = "Hi"/, bar
|
||||
end
|
||||
end
|
||||
|
|
|
@ -67,6 +67,14 @@ class NamedBaseTest < Rails::Generators::TestCase
|
|||
assert_name g, 'admin.foos', :controller_i18n_scope
|
||||
end
|
||||
|
||||
def test_application_name
|
||||
g = generator ['Admin::Foo']
|
||||
Rails.stubs(:application).returns(Object.new)
|
||||
assert_name g, "object", :application_name
|
||||
Rails.stubs(:application).returns(nil)
|
||||
assert_name g, "application", :application_name
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def assert_name(generator, value, method)
|
||||
|
|
Loading…
Reference in New Issue