##// END OF EJS Templates
Remove some inline styling and some depreciated table cell attributes and replace them with proper class names....
Remove some inline styling and some depreciated table cell attributes and replace them with proper class names. Contributed by Andrew Smith. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9252 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r8966:3aaf2b9ed007
r9132:103cd46f7814
Show More
mailer_test.rb
550 lines | 18.0 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 # Redmine - project management software
# Copyright (C) 2006-2011 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
Eric Davis
Fixed some tests that where looking for specific issue urls but weren't matching...
r2935 include ActionController::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,
:tokens, :journals, :journal_details, :changesets, :trackers,
: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)
Jean-Philippe Lang
Fixes:...
r1147 assert Mailer.deliver_issue_edit(journal)
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',
'Can\'t print recipes (New)',
: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'
Jean-Philippe Lang
Slight changes to ease Rails 2.2 support....
r2232 Redmine::Utils.relative_url_root = '/rdm'
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)
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 assert Mailer.deliver_issue_edit(journal)
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',
'Can\'t print recipes (New)',
: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
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)
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990 assert Mailer.deliver_issue_edit(journal)
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',
'Can\'t print recipes (New)',
: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)
Mailer.deliver_issue_add(issue)
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
Replaced non standard Precedence email header with "X-Auto-Response-Suppress: OOF" (#9534)....
r7685 assert_equal 'OOF', mail.header_string('X-Auto-Response-Suppress')
Jean-Philippe Lang
Replaces List-Id header with Precedence and Auto-Submitted headers (#2984, #2879)....
r2566 assert_equal 'auto-generated', mail.header_string('Auto-Submitted')
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)
Mailer.deliver_issue_add(issue)
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Adds a X-Redmine-Sender header to email notifications (#5643)....
r8665 assert_equal issue.author.login, mail.header_string('X-Redmine-Sender')
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)
Mailer.deliver_issue_edit(journal)
Etienne Massip
Override @#url_for@ in AM to force generation of absolute links (#10251)....
r8902 mail = last_email
Jean-Philippe Lang
Sets proper content type for plain text mails (#3970)....
r2847 assert_equal "text/plain", mail.content_type
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)
Mailer.deliver_issue_edit(journal)
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
Jean-Philippe Lang
Renamed Mailer#test to Mailer#test_email....
r8960 Mailer.deliver_test_email(User.find(1))
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
Additional tests for email From header (#9564)....
r7687 assert_equal 'redmine@example.net', mail.from_addrs.first.address
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
Jean-Philippe Lang
Renamed Mailer#test to Mailer#test_email....
r8960 Mailer.deliver_test_email(User.find(1))
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
Additional tests for email From header (#9564)....
r7687 assert_equal 'redmine@example.net', mail.from_addrs.first.address
Jean-Philippe Lang
Adds a test for emission address with phrase (#4855)....
r3329 assert_equal 'Redmine app', mail.from_addrs.first.name
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
Mailer.deliver_news_added(news.reload)
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
Mailer.deliver_news_added(news.reload)
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)
Mailer.deliver_issue_add(issue)
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)
Mailer.deliver_issue_edit(journal)
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
Fixes some test failures due to Array#to_s behaviour in ruby1.9....
r2799 assert_equal Mailer.message_id_for(journal.issue), mail.references.first.to_s
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)
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 Mailer.deliver_message_posted(message)
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)
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 Mailer.deliver_message_posted(message)
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
Fixes some test failures due to Array#to_s behaviour in ruby1.9....
r2799 assert_equal Mailer.message_id_for(message.parent), mail.references.first.to_s
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
assert Mailer.deliver_issue_add(@issue)
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)
assert Mailer.deliver_issue_add(@issue)
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)
assert Mailer.deliver_issue_add(@issue)
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)
assert Mailer.deliver_issue_add(@issue)
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
Jean-Philippe Lang
added unit tests for mailer...
r212 assert Mailer.deliver_issue_add(issue)
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
Jean-Philippe Lang
added unit tests for mailer...
r212 assert Mailer.deliver_issue_edit(journal)
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
Jean-Philippe Lang
Removed translated email templates attachments_added and document_added (no longer usefull)....
r823 assert Mailer.deliver_document_added(document)
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
assert Mailer.deliver_attachments_added(attachements)
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') ]
assert Mailer.deliver_attachments_added(attachements)
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') ]
assert Mailer.deliver_attachments_added(attachements)
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
assert Mailer.deliver_news_added(news)
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
assert Mailer.deliver_news_comment_added(comment)
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
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 assert Mailer.deliver_message_posted(message)
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
assert Mailer.deliver_wiki_content_added(content)
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
assert Mailer.deliver_wiki_content_updated(content)
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
assert Mailer.deliver_account_information(user, 'pAsswORd')
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
Jean-Philippe Lang
added unit tests for mailer...
r212 assert Mailer.deliver_lost_password(token)
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
Jean-Philippe Lang
added unit tests for mailer...
r212 assert Mailer.deliver_register(token)
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
Jean-Philippe Lang
Renamed Mailer#test to Mailer#test_email....
r8960 assert Mailer.deliver_test_email(user)
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
Make sure users don't get notified for thing they can not view (#3589)....
r3055 def last_email
mail = ActionMailer::Base.deliveries.last
assert_not_nil mail
mail
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'
Mailer.deliver_account_activated(user)
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
Jean-Philippe Lang
Renamed Mailer#test to Mailer#test_email....
r8960 Mailer.deliver_test_email(User.find(1))
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
Jean-Philippe Lang
Fixed: TMail 1.2.7 malforms To header when number of recipients more then 8 (#8751)....
r7743
def test_tmail_to_header_field_should_not_include_blank_lines
mail = TMail::Mail.new
mail.to = ["a.user@example.com", "v.user2@example.com", "e.smith@example.com", "info@example.com", "v.pupkin@example.com",
"b.user@example.com", "w.user2@example.com", "f.smith@example.com", "info2@example.com", "w.pupkin@example.com"]
assert !mail.encoded.strip.split("\r\n").detect(&:blank?), "#{mail.encoded} malformed"
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
Jean-Philippe Lang
Renamed Mailer#test to Mailer#test_email....
r8960 assert Mailer.deliver_test_email(User.find(1))
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
Jean-Philippe Lang
Mailer:...
r864 end