aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-07-01 13:04:53 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-07-01 13:04:53 -0300
commit4d3eb70aab851dd123ed633052d4956d3f9db459 (patch)
tree799380ef2180e1b757fee221e4b0d09f5c8e6f12 /railties
parent5de61ccb4ad5136d9f71097ab3b551c3cb8f753e (diff)
parent84ed7b8dfeb2ba47ca8c1b0767c85bbf200e786b (diff)
downloadrails-4d3eb70aab851dd123ed633052d4956d3f9db459.tar.gz
rails-4d3eb70aab851dd123ed633052d4956d3f9db459.tar.bz2
rails-4d3eb70aab851dd123ed633052d4956d3f9db459.zip
Merge pull request #15970 from lengarvey/add_configuration_option_for_mail_preview
Add configuration to enable mail previews
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/application/finisher.rb2
-rw-r--r--railties/test/application/configuration_test.rb24
-rw-r--r--railties/test/application/mailer_previews_test.rb14
3 files changed, 38 insertions, 2 deletions
diff --git a/railties/lib/rails/application/finisher.rb b/railties/lib/rails/application/finisher.rb
index 5b8509b2e9..7a1bb1e25c 100644
--- a/railties/lib/rails/application/finisher.rb
+++ b/railties/lib/rails/application/finisher.rb
@@ -22,8 +22,6 @@ module Rails
initializer :add_builtin_route do |app|
if Rails.env.development?
app.routes.append do
- get '/rails/mailers' => "rails/mailers#index"
- get '/rails/mailers/*path' => "rails/mailers#preview"
get '/rails/info/properties' => "rails/info#properties"
get '/rails/info/routes' => "rails/info#routes"
get '/rails/info' => "rails/info#index"
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb
index 17b406f6a3..1feedb6602 100644
--- a/railties/test/application/configuration_test.rb
+++ b/railties/test/application/configuration_test.rb
@@ -965,5 +965,29 @@ module ApplicationTests
assert db_config.is_a?(Hash)
end
+
+ test 'config.mail_preview_enabled defaults to true in development' do
+ Rails.env = "development"
+ require "#{app_path}/config/environment"
+
+ assert Rails.application.config.action_mailer.preview_enabled
+ end
+
+ test 'config.mail_preview_enabled defaults to false in production' do
+ Rails.env = "production"
+ require "#{app_path}/config/environment"
+
+ assert_equal Rails.application.config.action_mailer.preview_enabled, false
+ end
+
+ test 'config.mail_preview_enabled can be set in the configuration file' do
+ Rails.env = "production"
+ add_to_config <<-RUBY
+ config.action_mailer.preview_enabled = true
+ RUBY
+ require "#{app_path}/config/environment"
+
+ assert_equal Rails.application.config.action_mailer.preview_enabled, true
+ end
end
end
diff --git a/railties/test/application/mailer_previews_test.rb b/railties/test/application/mailer_previews_test.rb
index c588fd7012..d17eb0a8d1 100644
--- a/railties/test/application/mailer_previews_test.rb
+++ b/railties/test/application/mailer_previews_test.rb
@@ -26,6 +26,20 @@ module ApplicationTests
assert_equal 404, last_response.status
end
+ test "/rails/mailers is accessible with correct configuraiton" do
+ add_to_config "config.action_mailer.preview_enabled = true"
+ app("production")
+ get "/rails/mailers"
+ assert_equal 200, last_response.status
+ end
+
+ test "/rails/mailers is not accessible with preview_enabled = false" do
+ add_to_config "config.action_mailer.preview_enabled = false"
+ app("development")
+ get "/rails/mailers"
+ assert_equal 404, last_response.status
+ end
+
test "mailer previews are loaded from the default preview_path" do
mailer 'notifier', <<-RUBY
class Notifier < ActionMailer::Base