summaryrefslogtreecommitdiffstats
path: root/test/functional
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/admin_controller_test.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/test/functional/admin_controller_test.rb b/test/functional/admin_controller_test.rb
index 981376105..f837b5063 100644
--- a/test/functional/admin_controller_test.rb
+++ b/test/functional/admin_controller_test.rb
@@ -20,9 +20,23 @@ require File.expand_path('../../test_helper', __FILE__)
class AdminControllerTest < ActionController::TestCase
fixtures :projects, :users, :roles
+ class TestDelivery
+ def initialize(*)
+ end
+
+ def deliver!(mail)
+ raise 'Some error message'
+ end
+ end
+
def setup
User.current = nil
@request.session[:user_id] = 1 # admin
+ @old_delivery_method = ActionMailer::Base.delivery_method
+ end
+
+ def teardown
+ ActionMailer::Base.delivery_method = @old_delivery_method
end
def test_index
@@ -98,7 +112,7 @@ class AdminControllerTest < ActionController::TestCase
end
def test_test_email_failure_should_display_the_error
- Mailer.stubs(:deliver_test_email).raises(Exception, 'Some error message')
+ ActionMailer::Base.delivery_method = TestDelivery
get :test_email
assert_redirected_to '/settings/edit?tab=notifications'
assert_match /Some error message/, flash[:error]