##// END OF EJS Templates
Fixed: Issues associated with a locked version are not copied when copying a project (#11207)....
Fixed: Issues associated with a locked version are not copied when copying a project (#11207). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10334 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r10092:265baa1b2c5d
r10151:ff86c37ed330
Show More
mailer_test.rb
568 lines | 18.4 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 # Redmine - project management software
Toshi MARUYAMA
remove trailing white-spaces from test/unit/mailer_test.rb...
r9419 # Copyright (C) 2006-2012 Jean-Philippe Lang
Jean-Philippe Lang
added unit tests for mailer...
r212 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806 #
Jean-Philippe Lang
added unit tests for mailer...
r212 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806 #
Jean-Philippe Lang
added unit tests for mailer...
r212 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
added unit tests for mailer...
r212
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class MailerTest < ActiveSupport::TestCase
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 include Redmine::I18n
Toshi MARUYAMA
remove trailing white-spaces from test/unit/mailer_test.rb...
r9419 include ActionDispatch::Assertions::SelectorAssertions
Toshi MARUYAMA
Rails3: replace "all" fixtures at test/unit/mailer_test.rb...
r7377 fixtures :projects, :enabled_modules, :issues, :users, :members,
:member_roles, :roles, :documents, :attachments, :news,
Toshi MARUYAMA
add missing fixture to test/unit/mailer_test.rb...
r9451 :tokens, :journals, :journal_details, :changesets,
:trackers, :projects_trackers,
Toshi MARUYAMA
Rails3: replace "all" fixtures at test/unit/mailer_test.rb...
r7377 :issue_statuses, :enumerations, :messages, :boards, :repositories,
:wikis, :wiki_pages, :wiki_contents, :wiki_content_versions,
:versions,
:comments
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Fixed: Links in Forum mails should redirect to message, not topic (#4884)....
r3344 def setup
ActionMailer::Base.deliveries.clear
Setting.host_name = 'mydomain.foo'
Setting.protocol = 'http'
Jean-Philippe Lang
Fixed links in new file notification broken by r4051 (#6590)....
r5110 Setting.plain_text_mail = '0'
Jean-Philippe Lang
Fixed: Links in Forum mails should redirect to message, not topic (#4884)....
r3344 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Fixes:...
r1147 def test_generated_links_in_emails
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 Setting.default_language = 'en'
Jean-Philippe Lang
Fixes:...
r1147 Setting.host_name = 'mydomain.foo'
Setting.protocol = 'https'
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 journal = Journal.find(3)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_edit(journal).deliver
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Do not do assertions on mail class....
r8871 assert_not_nil mail
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 assert_select_email do
# link to the main ticket
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?]',
'https://mydomain.foo/issues/2#change-3',
:text => 'Feature request #2: Add ingredients categories'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 # link to a referenced ticket
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?][title=?]',
'https://mydomain.foo/issues/1',
Jean-Philippe Lang
Upgrade to Rails 3.2.8 (#11758)....
r10092 'Can&#x27;t print recipes (New)',
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 :text => '#1'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 # link to a changeset
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?][title=?]',
'https://mydomain.foo/projects/ecookbook/repository/revisions/2',
'This commit fixes #1, #2 and references #1 &amp; #3',
:text => 'r2'
# link to a description diff
assert_select 'a[href=?][title=?]',
'https://mydomain.foo/journals/diff/3?detail_id=4',
'View differences',
:text => 'diff'
# link to an attachment
assert_select 'a[href=?]',
'https://mydomain.foo/attachments/download/4/source.rb',
:text => 'source.rb'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 end
Jean-Philippe Lang
Fixes:...
r1147 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 def test_generated_links_with_prefix
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 Setting.default_language = 'en'
Jean-Philippe Lang
Slight changes to ease Rails 2.2 support....
r2232 relative_url_root = Redmine::Utils.relative_url_root
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 Setting.host_name = 'mydomain.foo/rdm'
Setting.protocol = 'http'
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 journal = Journal.find(3)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_edit(journal).deliver
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Do not do assertions on mail class....
r8871 assert_not_nil mail
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935
assert_select_email do
# link to the main ticket
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?]',
'http://mydomain.foo/rdm/issues/2#change-3',
:text => 'Feature request #2: Add ingredients categories'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 # link to a referenced ticket
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?][title=?]',
'http://mydomain.foo/rdm/issues/1',
Jean-Philippe Lang
Upgrade to Rails 3.2.8 (#11758)....
r10092 'Can&#x27;t print recipes (New)',
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 :text => '#1'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 # link to a changeset
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?][title=?]',
'http://mydomain.foo/rdm/projects/ecookbook/repository/revisions/2',
'This commit fixes #1, #2 and references #1 &amp; #3',
:text => 'r2'
# link to a description diff
assert_select 'a[href=?][title=?]',
'http://mydomain.foo/rdm/journals/diff/3?detail_id=4',
'View differences',
:text => 'diff'
# link to an attachment
assert_select 'a[href=?]',
'http://mydomain.foo/rdm/attachments/download/4/source.rb',
:text => 'source.rb'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 end
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 def test_generated_links_with_prefix_and_no_relative_url_root
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 Setting.default_language = 'en'
Jean-Philippe Lang
Slight changes to ease Rails 2.2 support....
r2232 relative_url_root = Redmine::Utils.relative_url_root
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 Setting.host_name = 'mydomain.foo/rdm'
Setting.protocol = 'http'
Jean-Philippe Lang
Slight changes to ease Rails 2.2 support....
r2232 Redmine::Utils.relative_url_root = nil
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 journal = Journal.find(3)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_edit(journal).deliver
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Do not do assertions on mail class....
r8871 assert_not_nil mail
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935
assert_select_email do
# link to the main ticket
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?]',
'http://mydomain.foo/rdm/issues/2#change-3',
:text => 'Feature request #2: Add ingredients categories'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 # link to a referenced ticket
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?][title=?]',
'http://mydomain.foo/rdm/issues/1',
Jean-Philippe Lang
Upgrade to Rails 3.2.8 (#11758)....
r10092 'Can&#x27;t print recipes (New)',
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 :text => '#1'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 # link to a changeset
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 assert_select 'a[href=?][title=?]',
'http://mydomain.foo/rdm/projects/ecookbook/repository/revisions/2',
'This commit fixes #1, #2 and references #1 &amp; #3',
:text => 'r2'
# link to a description diff
assert_select 'a[href=?][title=?]',
'http://mydomain.foo/rdm/journals/diff/3?detail_id=4',
'View differences',
:text => 'diff'
# link to an attachment
assert_select 'a[href=?]',
'http://mydomain.foo/rdm/attachments/download/4/source.rb',
:text => 'source.rb'
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 end
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 ensure
# restore it
Jean-Philippe Lang
Slight changes to ease Rails 2.2 support....
r2232 Redmine::Utils.relative_url_root = relative_url_root
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Replaces List-Id header with Precedence and Auto-Submitted headers (#2984, #2879)....
r2566 def test_email_headers
issue = Issue.find(1)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.issue_add(issue).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Replaces List-Id header with Precedence and Auto-Submitted headers (#2984, #2879)....
r2566 assert_not_nil mail
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 assert_equal 'OOF', mail.header['X-Auto-Response-Suppress'].to_s
assert_equal 'auto-generated', mail.header['Auto-Submitted'].to_s
Jean-Philippe Lang
Restored List-Id header in email notifications (#10888)....
r9504 assert_equal '<redmine.example.net>', mail.header['List-Id'].to_s
Jean-Philippe Lang
Replaces List-Id header with Precedence and Auto-Submitted headers (#2984, #2879)....
r2566 end
Nicolas Chuche
add plain text option for mail #2029...
r1930
Jean-Philippe Lang
Adds a X-Redmine-Sender header to email notifications (#5643)....
r8665 def test_email_headers_should_include_sender
issue = Issue.find(1)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.issue_add(issue).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 assert_equal issue.author.login, mail.header['X-Redmine-Sender'].to_s
Jean-Philippe Lang
Adds a X-Redmine-Sender header to email notifications (#5643)....
r8665 end
Nicolas Chuche
add plain text option for mail #2029...
r1930 def test_plain_text_mail
Setting.plain_text_mail = 1
journal = Journal.find(2)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.issue_edit(journal).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 assert_equal "text/plain; charset=UTF-8", mail.content_type
Jean-Philippe Lang
Sets proper content type for plain text mails (#3970)....
r2847 assert_equal 0, mail.parts.size
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 assert !mail.encoded.include?('href')
Nicolas Chuche
add plain text option for mail #2029...
r1930 end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773
def test_html_mail
Setting.plain_text_mail = 0
journal = Journal.find(2)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.issue_edit(journal).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 assert_equal 2, mail.parts.size
assert mail.encoded.include?('href')
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Additional tests for email From header (#9564)....
r7687 def test_from_header
with_settings :mail_from => 'redmine@example.net' do
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.test_email(User.find(1)).deliver
Jean-Philippe Lang
Additional tests for email From header (#9564)....
r7687 end
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 assert_equal 'redmine@example.net', mail.from_addrs.first
Jean-Philippe Lang
Additional tests for email From header (#9564)....
r7687 end
def test_from_header_with_phrase
Jean-Philippe Lang
Adds a test for emission address with phrase (#4855)....
r3329 with_settings :mail_from => 'Redmine app <redmine@example.net>' do
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.test_email(User.find(1)).deliver
Jean-Philippe Lang
Adds a test for emission address with phrase (#4855)....
r3329 end
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 assert_equal 'redmine@example.net', mail.from_addrs.first
assert_equal 'Redmine app <redmine@example.net>', mail.header['From'].to_s
Jean-Philippe Lang
Adds a test for emission address with phrase (#4855)....
r3329 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds a test for not sending email without recipient (#4920)....
r3404 def test_should_not_send_email_without_recipient
news = News.find(:first)
user = news.author
# Remove members except news author
news.project.memberships.each {|m| m.destroy unless m.user == user}
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds a test for not sending email without recipient (#4920)....
r3404 user.pref[:no_self_notified] = false
user.pref.save
User.current = user
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.news_added(news.reload).deliver
Jean-Philippe Lang
Adds a test for not sending email without recipient (#4920)....
r3404 assert_equal 1, last_email.bcc.size
# nobody to notify
user.pref[:no_self_notified] = true
user.pref.save
User.current = user
ActionMailer::Base.deliveries.clear
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.news_added(news.reload).deliver
Jean-Philippe Lang
Adds a test for not sending email without recipient (#4920)....
r3404 assert ActionMailer::Base.deliveries.empty?
end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 def test_issue_add_message_id
issue = Issue.find(1)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.issue_add(issue).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 assert_equal Mailer.message_id_for(issue), mail.message_id
assert_nil mail.references
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 def test_issue_edit_message_id
journal = Journal.find(1)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.issue_edit(journal).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 assert_equal Mailer.message_id_for(journal), mail.message_id
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 assert_include Mailer.message_id_for(journal.issue), mail.references
Jean-Philippe Lang
Makes the link in an issue update notification point to the change (#9690)....
r7910 assert_select_email do
# link to the update
assert_select "a[href=?]",
"http://mydomain.foo/issues/#{journal.journalized_id}#change-#{journal.id}"
end
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 def test_message_posted_message_id
message = Message.find(1)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.message_posted(message).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 assert_equal Mailer.message_id_for(message), mail.message_id
assert_nil mail.references
Jean-Philippe Lang
Fixed: Links in Forum mails should redirect to message, not topic (#4884)....
r3344 assert_select_email do
# link to the message
Toshi MARUYAMA
code layout clean up of test_message_posted_message_id at test/unit/mailer_test.rb...
r7381 assert_select "a[href=?]",
"http://mydomain.foo/boards/#{message.board.id}/topics/#{message.id}",
:text => message.subject
Jean-Philippe Lang
Fixed: Links in Forum mails should redirect to message, not topic (#4884)....
r3344 end
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 def test_reply_posted_message_id
message = Message.find(3)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.message_posted(message).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 assert_equal Mailer.message_id_for(message), mail.message_id
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 assert_include Mailer.message_id_for(message.parent), mail.references
Jean-Philippe Lang
Fixed: Links in Forum mails should redirect to message, not topic (#4884)....
r3344 assert_select_email do
# link to the reply
Toshi MARUYAMA
code layout clean up of test_reply_posted_message_id at test/unit/mailer_test.rb...
r7382 assert_select "a[href=?]",
"http://mydomain.foo/boards/#{message.board.id}/topics/#{message.root.id}?r=#{message.id}#message-#{message.id}",
:text => message.subject
Jean-Philippe Lang
Fixed: Links in Forum mails should redirect to message, not topic (#4884)....
r3344 end
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 context("#issue_add") do
setup do
ActionMailer::Base.deliveries.clear
Setting.bcc_recipients = '1'
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806 @issue = Issue.find(1)
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 should "notify project members" do
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_add(@issue).deliver
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 assert last_email.bcc.include?('dlopper@somenet.foo')
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 should "not notify project members that are not allow to view the issue" do
Role.find(2).remove_permission!(:view_issues)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_add(@issue).deliver
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 assert !last_email.bcc.include?('dlopper@somenet.foo')
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 should "notify issue watchers" do
user = User.find(9)
Jean-Philippe Lang
Adds unit test for #3645....
r3213 # minimal email notification options
user.pref[:no_self_notified] = '1'
user.pref.save
user.mail_notification = false
user.save
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 Watcher.create!(:watchable => @issue, :user => user)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_add(@issue).deliver
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 assert last_email.bcc.include?(user.mail)
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 should "not notify watchers not allowed to view the issue" do
user = User.find(9)
Watcher.create!(:watchable => @issue, :user => user)
Role.non_member.remove_permission!(:view_issues)
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_add(@issue).deliver
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 assert !last_email.bcc.include?(user.mail)
end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
added unit tests for mailer...
r212 # test mailer methods for each language
def test_issue_add
issue = Issue.find(1)
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
wiki branch merged into trunk...
r320 Setting.default_language = lang.to_s
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_add(issue).deliver
Jean-Philippe Lang
added unit tests for mailer...
r212 end
end
def test_issue_edit
journal = Journal.find(1)
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
wiki branch merged into trunk...
r320 Setting.default_language = lang.to_s
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.issue_edit(journal).deliver
Jean-Philippe Lang
added unit tests for mailer...
r212 end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Mailer:...
r864 def test_document_added
Jean-Philippe Lang
added unit tests for mailer...
r212 document = Document.find(1)
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
wiki branch merged into trunk...
r320 Setting.default_language = lang.to_s
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.document_added(document).deliver
Jean-Philippe Lang
added unit tests for mailer...
r212 end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Mailer:...
r864 def test_attachments_added
attachements = [ Attachment.find_by_container_type('Document') ]
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
Mailer:...
r864 Setting.default_language = lang.to_s
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.attachments_added(attachements).deliver
Jean-Philippe Lang
Mailer:...
r864 end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Fixed: no email notification on new project/version file added (#4966)....
r3418 def test_version_file_added
attachements = [ Attachment.find_by_container_type('Version') ]
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.attachments_added(attachements).deliver
Jean-Philippe Lang
Fixed: no email notification on new project/version file added (#4966)....
r3418 assert_not_nil last_email.bcc
assert last_email.bcc.any?
Jean-Philippe Lang
Fixed links in new file notification broken by r4051 (#6590)....
r5110 assert_select_email do
assert_select "a[href=?]", "http://mydomain.foo/projects/ecookbook/files"
end
Jean-Philippe Lang
Fixed: no email notification on new project/version file added (#4966)....
r3418 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Fixed: no email notification on new project/version file added (#4966)....
r3418 def test_project_file_added
attachements = [ Attachment.find_by_container_type('Project') ]
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.attachments_added(attachements).deliver
Jean-Philippe Lang
Fixed: no email notification on new project/version file added (#4966)....
r3418 assert_not_nil last_email.bcc
assert last_email.bcc.any?
Jean-Philippe Lang
Fixed links in new file notification broken by r4051 (#6590)....
r5110 assert_select_email do
assert_select "a[href=?]", "http://mydomain.foo/projects/ecookbook/files"
end
Jean-Philippe Lang
Fixed: no email notification on new project/version file added (#4966)....
r3418 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Mailer:...
r864 def test_news_added
news = News.find(:first)
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
Mailer:...
r864 Setting.default_language = lang.to_s
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.news_added(news).deliver
Jean-Philippe Lang
Mailer:...
r864 end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 def test_news_comment_added
comment = Comment.find(2)
valid_languages.each do |lang|
Setting.default_language = lang.to_s
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.news_comment_added(comment).deliver
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Mailer:...
r864 def test_message_posted
message = Message.find(:first)
recipients = ([message.root] + message.root.children).collect {|m| m.author.mail if m.author}
recipients = recipients.compact.uniq
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
Mailer:...
r864 Setting.default_language = lang.to_s
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.message_posted(message).deliver
Jean-Philippe Lang
Mailer:...
r864 end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Add tests for wiki edit notifications (#7024)....
r4365 def test_wiki_content_added
Jean-Philippe Lang
Fixed potential test failure....
r8908 content = WikiContent.find(1)
Jean-Philippe Lang
Add tests for wiki edit notifications (#7024)....
r4365 valid_languages.each do |lang|
Setting.default_language = lang.to_s
assert_difference 'ActionMailer::Base.deliveries.size' do
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.wiki_content_added(content).deliver
Jean-Philippe Lang
Fixed: Link is escaped in wiki added/updated notification email (#11262)....
r9713 assert_select_email do
assert_select 'a[href=?]',
'http://mydomain.foo/projects/ecookbook/wiki/CookBook_documentation',
:text => 'CookBook documentation'
end
Jean-Philippe Lang
Add tests for wiki edit notifications (#7024)....
r4365 end
end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Add tests for wiki edit notifications (#7024)....
r4365 def test_wiki_content_updated
Jean-Philippe Lang
Fixed potential test failure....
r8908 content = WikiContent.find(1)
Jean-Philippe Lang
Add tests for wiki edit notifications (#7024)....
r4365 valid_languages.each do |lang|
Setting.default_language = lang.to_s
assert_difference 'ActionMailer::Base.deliveries.size' do
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.wiki_content_updated(content).deliver
Jean-Philippe Lang
Fixed: Link is escaped in wiki added/updated notification email (#11262)....
r9713 assert_select_email do
assert_select 'a[href=?]',
'http://mydomain.foo/projects/ecookbook/wiki/CookBook_documentation',
:text => 'CookBook documentation'
end
Jean-Philippe Lang
Add tests for wiki edit notifications (#7024)....
r4365 end
end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Mailer:...
r864 def test_account_information
Jean-Philippe Lang
Fixes random test failure....
r3593 user = User.find(2)
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
Mailer:...
r864 user.update_attribute :language, lang.to_s
user.reload
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.account_information(user, 'pAsswORd').deliver
Jean-Philippe Lang
Mailer:...
r864 end
end
Jean-Philippe Lang
added unit tests for mailer...
r212
def test_lost_password
token = Token.find(2)
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
wiki branch merged into trunk...
r320 token.user.update_attribute :language, lang.to_s
Jean-Philippe Lang
Mailer:...
r864 token.reload
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.lost_password(token).deliver
Jean-Philippe Lang
added unit tests for mailer...
r212 end
end
def test_register
token = Token.find(1)
Jean-Philippe Lang
Test that account activation email contains the appropriate link (#2825)....
r2493 Setting.host_name = 'redmine.foo'
Setting.protocol = 'https'
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 valid_languages.each do |lang|
Jean-Philippe Lang
wiki branch merged into trunk...
r320 token.user.update_attribute :language, lang.to_s
Jean-Philippe Lang
Mailer:...
r864 token.reload
Jean-Philippe Lang
Test that account activation email contains the appropriate link (#2825)....
r2493 ActionMailer::Base.deliveries.clear
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.register(token).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Toshi MARUYAMA
use assert_select instead of include? at "test_register" of unit mailer test...
r8796 assert_select_email do
assert_select "a[href=?]",
"https://redmine.foo/account/activate?token=#{token.value}",
:text => "https://redmine.foo/account/activate?token=#{token.value}"
end
Jean-Philippe Lang
added unit tests for mailer...
r212 end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds an option to enable/disable email notifications during a project copy (#4672)....
r3494 def test_test
user = User.find(1)
valid_languages.each do |lang|
user.update_attribute :language, lang.to_s
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.test_email(user).deliver
Jean-Philippe Lang
Adds an option to enable/disable email notifications during a project copy (#4672)....
r3494 end
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 def test_reminders
Mailer.reminders(:days => 42)
assert_equal 1, ActionMailer::Base.deliveries.size
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 assert mail.bcc.include?('dlopper@somenet.foo')
Jean-Philippe Lang
Adds helpers for testing email body....
r8966 assert_mail_body_match 'Bug #3: Error 281 when updating a recipe', mail
Eric Davis
Show the number of days in the subject line of Reminder emails....
r3793 assert_equal '1 issue(s) due in the next 42 days', mail.subject
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Fixed that reminders are sent for closed issues (#10006)....
r8570 def test_reminders_should_not_include_closed_issues
Toshi MARUYAMA
use English as default language at "test_reminders_should_not_include_closed_issues" of unit mailer test...
r8798 with_settings :default_language => 'en' do
Jean-Philippe Lang
Removed some generate! calls....
r8958 Issue.create!(:project_id => 1, :tracker_id => 1, :status_id => 5,
Toshi MARUYAMA
use English as default language at "test_reminders_should_not_include_closed_issues" of unit mailer test...
r8798 :subject => 'Closed issue', :assigned_to_id => 3,
Jean-Philippe Lang
Removed some generate! calls....
r8958 :due_date => 5.days.from_now,
:author_id => 2)
Toshi MARUYAMA
use English as default language at "test_reminders_should_not_include_closed_issues" of unit mailer test...
r8798 ActionMailer::Base.deliveries.clear
Jean-Philippe Lang
Fixed that reminders are sent for closed issues (#10006)....
r8570
Toshi MARUYAMA
use English as default language at "test_reminders_should_not_include_closed_issues" of unit mailer test...
r8798 Mailer.reminders(:days => 42)
assert_equal 1, ActionMailer::Base.deliveries.size
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Toshi MARUYAMA
use English as default language at "test_reminders_should_not_include_closed_issues" of unit mailer test...
r8798 assert mail.bcc.include?('dlopper@somenet.foo')
Jean-Philippe Lang
Adds helpers for testing email body....
r8966 assert_mail_body_no_match 'Closed issue', mail
Toshi MARUYAMA
use English as default language at "test_reminders_should_not_include_closed_issues" of unit mailer test...
r8798 end
Jean-Philippe Lang
Fixed that reminders are sent for closed issues (#10006)....
r8570 end
Eric Davis
Added a users options to the reminders email...
r4053 def test_reminders_for_users
Mailer.reminders(:days => 42, :users => ['5'])
assert_equal 0, ActionMailer::Base.deliveries.size # No mail for dlopper
Mailer.reminders(:days => 42, :users => ['3'])
assert_equal 1, ActionMailer::Base.deliveries.size # No mail for dlopper
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Eric Davis
Added a users options to the reminders email...
r4053 assert mail.bcc.include?('dlopper@somenet.foo')
Jean-Philippe Lang
Adds helpers for testing email body....
r8966 assert_mail_body_match 'Bug #3: Error 281 when updating a recipe', mail
Eric Davis
Added a users options to the reminders email...
r4053 end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Fixed: email notifications may affect language of notices on the UI (#4086)....
r3193 def test_mailer_should_not_change_locale
Setting.default_language = 'en'
# Set current language to italian
set_language_if_valid 'it'
# Send an email to a french user
user = User.find(1)
user.language = 'fr'
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.account_activated(user).deliver
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Adds helpers for testing email body....
r8966 assert_mail_body_match 'Votre compte', mail
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Fixed: email notifications may affect language of notices on the UI (#4086)....
r3193 assert_equal :it, current_language
end
Toshi MARUYAMA
remove trailing white-spaces from ....
r6806
Jean-Philippe Lang
Adds an option to enable/disable email notifications during a project copy (#4672)....
r3494 def test_with_deliveries_off
Mailer.with_deliveries false do
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 Mailer.test_email(User.find(1)).deliver
Jean-Philippe Lang
Adds an option to enable/disable email notifications during a project copy (#4672)....
r3494 end
assert ActionMailer::Base.deliveries.empty?
# should restore perform_deliveries
assert ActionMailer::Base.perform_deliveries
end
Eric Davis
Add a Email Header setting. Useful for adding delimiters to every email....
r4248
Toshi MARUYAMA
test: replace should "include the emails_header" at unit mailer test to Rails standard test suite...
r8349 def test_layout_should_include_the_emails_header
with_settings :emails_header => "*Header content*" do
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style...
r9455 assert Mailer.test_email(User.find(1)).deliver
Toshi MARUYAMA
test: replace should "include the emails_header" at unit mailer test to Rails standard test suite...
r8349 assert_select_email do
assert_select ".header" do
assert_select "strong", :text => "Header content"
Eric Davis
Add a Email Header setting. Useful for adding delimiters to every email....
r4248 end
end
end
end
Toshi MARUYAMA
move unit mailer test last_email method to the bottom and change to private...
r9452
Jean-Philippe Lang
Fixed that text email templates are escaped (#11355)....
r10022 def test_should_escape_html_templates_only
Issue.generate!(:project_id => 1, :tracker_id => 1, :subject => 'Subject with a <tag>')
mail = last_email
assert_equal 2, mail.parts.size
assert_include '<tag>', text_part.body.encoded
assert_include '&lt;tag&gt;', html_part.body.encoded
end
private
Toshi MARUYAMA
move unit mailer test last_email method to the bottom and change to private...
r9452 def last_email
mail = ActionMailer::Base.deliveries.last
assert_not_nil mail
mail
end
Jean-Philippe Lang
Fixed that text email templates are escaped (#11355)....
r10022
def text_part
last_email.parts.detect {|part| part.content_type.include?('text/plain')}
end
def html_part
last_email.parts.detect {|part| part.content_type.include?('text/html')}
end
Jean-Philippe Lang
Mailer:...
r864 end