def test_create_with_one_attachment
ActionMailer::Base.deliveries.clear
- Setting.notified_events << 'document_added'
@request.session[:user_id] = 2
set_tmp_attachments_directory
- post :create, :project_id => 'ecookbook',
+ with_settings :notified_events => %w(document_added) do
+ post :create, :project_id => 'ecookbook',
:document => { :title => 'DocumentsControllerTest#test_post_new',
:description => 'This is a new document',
:category_id => 2},
:attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
-
+ end
assert_redirected_to '/projects/ecookbook/documents'
document = Document.find_by_title('DocumentsControllerTest#test_post_new')
def test_create_file
set_tmp_attachments_directory
@request.session[:user_id] = 2
- Setting.notified_events = ['file_added']
ActionMailer::Base.deliveries.clear
- assert_difference 'Attachment.count' do
- post :create, :project_id => 1, :version_id => '',
- :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
- assert_response :redirect
+ with_settings :notified_events => %w(file_added) do
+ assert_difference 'Attachment.count' do
+ post :create, :project_id => 1, :version_id => '',
+ :attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
+ assert_response :redirect
+ end
end
assert_redirected_to '/projects/ecookbook/files'
a = Attachment.find(:first, :order => 'created_on DESC')
def test_create_version_file
set_tmp_attachments_directory
@request.session[:user_id] = 2
- Setting.notified_events = ['file_added']
assert_difference 'Attachment.count' do
post :create, :project_id => 1, :version_id => '2',
def test_post_new
@request.session[:user_id] = 2
ActionMailer::Base.deliveries.clear
- Setting.notified_events = ['message_posted']
- post :new, :board_id => 1,
+ with_settings :notified_events => %w(message_posted) do
+ post :new, :board_id => 1,
:message => { :subject => 'Test created message',
:content => 'Message body'}
+ end
message = Message.find_by_subject('Test created message')
assert_not_nil message
assert_redirected_to "/boards/1/topics/#{message.to_param}"
def test_post_create
ActionMailer::Base.deliveries.clear
- Setting.notified_events << 'news_added'
-
@request.session[:user_id] = 2
- post :create, :project_id => 1, :news => { :title => 'NewsControllerTest',
+
+ with_settings :notified_events => %w(news_added) do
+ post :create, :project_id => 1, :news => { :title => 'NewsControllerTest',
:description => 'This is the description',
:summary => '' }
+ end
assert_redirected_to '/projects/ecookbook/news'
news = News.find_by_title('NewsControllerTest')
@repository.fetch_changesets
@project.reload
assert_equal NUM_REV, @repository.changesets.count
- Setting.diff_max_lines_displayed = 5
- # Truncated diff of changeset 2f9c0091
- with_cache do
- get :diff, :id => PRJ_ID, :type => 'inline',
- :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
- assert_response :success
- assert @response.body.include?("... This diff was truncated")
-
- Setting.default_language = 'fr'
- get :diff, :id => PRJ_ID, :type => 'inline',
- :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
- assert_response :success
- assert ! @response.body.include?("... This diff was truncated")
- assert @response.body.include?("... Ce diff")
+ with_settings :diff_max_lines_displayed => 5 do
+ # Truncated diff of changeset 2f9c0091
+ with_cache do
+ get :diff, :id => PRJ_ID, :type => 'inline',
+ :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
+ assert_response :success
+ assert @response.body.include?("... This diff was truncated")
+
+ Setting.default_language = 'fr'
+ get :diff, :id => PRJ_ID, :type => 'inline',
+ :rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
+ assert_response :success
+ assert ! @response.body.include?("... This diff was truncated")
+ assert @response.body.include?("... Ce diff")
+ end
end
end
assert !Setting.bcc_recipients?
assert_equal %w(issue_added issue_updated news_added), Setting.notified_events
assert_equal 'Test footer', Setting.emails_footer
+ Setting.clear_cache
end
def test_get_plugin_settings
Setting.enabled_scm = %w(Subversion Git)
end
+ def teardown
+ Setting.clear_cache
+ end
+
def test_projects_with_repository_enabled
get :projects
assert_response :success
end
def test_create_should_send_notification
- Setting.notified_events << 'news_comment_added'
Watcher.create!(:watchable => @news, :user => @jsmith)
- assert_difference 'ActionMailer::Base.deliveries.size' do
- Comment.create!(:commented => @news, :author => @jsmith, :comments => "my comment")
+ with_settings :notified_events => %w(news_comment_added) do
+ assert_difference 'ActionMailer::Base.deliveries.size' do
+ Comment.create!(:commented => @news, :author => @jsmith, :comments => "my comment")
+ end
end
end
def test_create_should_send_email_notification
ActionMailer::Base.deliveries.clear
- Setting.notified_events << 'document_added'
- doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation'))
-
- assert doc.save
+
+ with_settings :notified_events => %w(document_added) do
+ doc = Document.new(:project => Project.find(1), :title => 'New document', :category => Enumeration.find_by_name('User documentation'))
+ assert doc.save
+ end
assert_equal 1, ActionMailer::Base.deliveries.size
end
# 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
Setting.notified_events = Redmine::Notifiable.all.collect(&:name)
end
+ def teardown
+ Setting.clear_cache
+ end
+
def test_add_issue
ActionMailer::Base.deliveries.clear
# This email contains: 'Project: onlinestore'
def test_create_should_send_email_notification
ActionMailer::Base.deliveries.clear
- Setting.notified_events << 'news_added'
news = Project.find(1).news.new(valid_news)
- assert news.save
+ with_settings :notified_events => %w(news_added) do
+ assert news.save
+ end
assert_equal 1, ActionMailer::Base.deliveries.size
end
def test_scan_changesets_for_issue_ids
Setting.default_language = 'en'
- Setting.notified_events = ['issue_added','issue_updated']
# choosing a status to apply to fix issues
Setting.commit_fix_status_id = IssueStatus.find(
assert !fixed_issue.status.is_closed?
old_status = fixed_issue.status
- Repository.scan_changesets_for_issue_ids
+ with_settings :notified_events => %w(issue_added issue_updated) do
+ Repository.scan_changesets_for_issue_ids
+ end
assert_equal [101, 102], Issue.find(3).changeset_ids
# fixed issues
class SettingTest < ActiveSupport::TestCase
+ def teardown
+ Setting.clear_cache
+ end
+
def test_read_default
assert_equal "Redmine", Setting.app_title
assert Setting.self_registration?
end
def test_create_should_send_email_notification
- Setting.notified_events = ['wiki_content_added']
ActionMailer::Base.deliveries.clear
page = WikiPage.new(:wiki => @wiki, :title => "A new page")
page.content = WikiContent.new(:text => "Content text", :author => User.find(1), :comments => "My comment")
- assert page.save
+
+ with_settings :notified_events => %w(wiki_content_added) do
+ assert page.save
+ end
assert_equal 1, ActionMailer::Base.deliveries.size
end
end
def test_update_should_send_email_notification
- Setting.notified_events = ['wiki_content_updated']
ActionMailer::Base.deliveries.clear
content = @page.content
content.text = "My new content"
- assert content.save
+
+ with_settings :notified_events => %w(wiki_content_updated) do
+ assert content.save
+ end
assert_equal 1, ActionMailer::Base.deliveries.size
end