Tests should not change settings.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9949 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2012-07-08 12:23:47 +00:00
parent 133ca59edb
commit 7acd04fb87
15 changed files with 94 additions and 61 deletions
+27 -18
View File
@@ -27,102 +27,111 @@ class JournalObserverTest < ActiveSupport::TestCase
# context: issue_updated notified_events
def test_create_should_send_email_notification_with_issue_updated
Setting.notified_events = ['issue_updated']
issue = Issue.find(:first)
user = User.find(:first)
journal = issue.init_journal(user, issue)
assert journal.save
with_settings :notified_events => %w(issue_updated) do
assert journal.save
end
assert_equal 1, ActionMailer::Base.deliveries.size
end
def test_create_should_not_send_email_notification_with_notify_set_to_false
Setting.notified_events = ['issue_updated']
issue = Issue.find(:first)
user = User.find(:first)
journal = issue.init_journal(user, issue)
journal.notify = false
assert journal.save
with_settings :notified_events => %w(issue_updated) do
assert journal.save
end
assert_equal 0, ActionMailer::Base.deliveries.size
end
def test_create_should_not_send_email_notification_without_issue_updated
Setting.notified_events = []
issue = Issue.find(:first)
user = User.find(:first)
journal = issue.init_journal(user, issue)
assert journal.save
with_settings :notified_events => [] do
assert journal.save
end
assert_equal 0, ActionMailer::Base.deliveries.size
end
# context: issue_note_added notified_events
def test_create_should_send_email_notification_with_issue_note_added
Setting.notified_events = ['issue_note_added']
issue = Issue.find(:first)
user = User.find(:first)
journal = issue.init_journal(user, issue)
journal.notes = 'This update has a note'
assert journal.save
with_settings :notified_events => %w(issue_note_added) do
assert journal.save
end
assert_equal 1, ActionMailer::Base.deliveries.size
end
def test_create_should_not_send_email_notification_without_issue_note_added
Setting.notified_events = []
issue = Issue.find(:first)
user = User.find(:first)
journal = issue.init_journal(user, issue)
journal.notes = 'This update has a note'
assert journal.save
with_settings :notified_events => [] do
assert journal.save
end
assert_equal 0, ActionMailer::Base.deliveries.size
end
# context: issue_status_updated notified_events
def test_create_should_send_email_notification_with_issue_status_updated
Setting.notified_events = ['issue_status_updated']
issue = Issue.find(:first)
user = User.find(:first)
issue.init_journal(user, issue)
issue.status = IssueStatus.last
assert issue.save
with_settings :notified_events => %w(issue_status_updated) do
assert issue.save
end
assert_equal 1, ActionMailer::Base.deliveries.size
end
def test_create_should_not_send_email_notification_without_issue_status_updated
Setting.notified_events = []
issue = Issue.find(:first)
user = User.find(:first)
issue.init_journal(user, issue)
issue.status = IssueStatus.last
assert issue.save
with_settings :notified_events => [] do
assert issue.save
end
assert_equal 0, ActionMailer::Base.deliveries.size
end
# context: issue_priority_updated notified_events
def test_create_should_send_email_notification_with_issue_priority_updated
Setting.notified_events = ['issue_priority_updated']
issue = Issue.find(:first)
user = User.find(:first)
issue.init_journal(user, issue)
issue.priority = IssuePriority.last
assert issue.save
with_settings :notified_events => %w(issue_priority_updated) do
assert issue.save
end
assert_equal 1, ActionMailer::Base.deliveries.size
end
def test_create_should_not_send_email_notification_without_issue_priority_updated
Setting.notified_events = []
issue = Issue.find(:first)
user = User.find(:first)
issue.init_journal(user, issue)
issue.priority = IssuePriority.last
assert issue.save
with_settings :notified_events => [] do
assert issue.save
end
assert_equal 0, ActionMailer::Base.deliveries.size
end
end