From: Marius Balteanu Date: Sun, 1 Aug 2021 17:25:13 +0000 (+0000) Subject: Remove unused setting 'Blind carbon copy recipients (bcc)' (#30820). X-Git-Tag: 5.0.0~305 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=805b36cbfbb0291f4aa4dfaa009bb088386749a9;p=redmine.git Remove unused setting 'Blind carbon copy recipients (bcc)' (#30820). git-svn-id: http://svn.redmine.org/redmine/trunk@21130 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/mailer.rb b/app/models/mailer.rb index c095b796c..5fbdc8280 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -697,13 +697,6 @@ class Mailer < ActionMailer::Base redmine_headers 'Sender' => @author.login end - # Blind carbon copy recipients - if Setting.bcc_recipients? - headers[:bcc] = [headers[:to], headers[:cc]].flatten.uniq.reject(&:blank?) - headers[:to] = nil - headers[:cc] = nil - end - if @message_id_object headers[:message_id] = "<#{self.class.message_id_for(@message_id_object, @user)}>" end diff --git a/app/views/settings/_notifications.html.erb b/app/views/settings/_notifications.html.erb index 5eb73d879..aafbe4340 100644 --- a/app/views/settings/_notifications.html.erb +++ b/app/views/settings/_notifications.html.erb @@ -4,8 +4,6 @@

<%= setting_text_field :mail_from, :size => 60 %>

-

<%= setting_check_box :bcc_recipients %>

-

<%= setting_check_box :plain_text_mail %>

<%= setting_check_box :show_status_changes_in_mail_subject %>

diff --git a/config/locales/en.yml b/config/locales/en.yml index 79ed757af..90eff9ad3 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -421,7 +421,6 @@ en: setting_bulk_download_max_size: Maximum total size for bulk download setting_issues_export_limit: Issues export limit setting_mail_from: Emission email address - setting_bcc_recipients: Blind carbon copy recipients (bcc) setting_plain_text_mail: Plain text mail (no HTML) setting_host_name: Host name and path setting_text_formatting: Text formatting diff --git a/config/settings.yml b/config/settings.yml index 7960a3f29..64209bdfd 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -92,8 +92,6 @@ search_results_per_page: default: 10 mail_from: default: redmine@example.net -bcc_recipients: - default: 1 plain_text_mail: default: 0 text_formatting: diff --git a/db/migrate/20210801145548_remove_bcc_recipients_setting.rb b/db/migrate/20210801145548_remove_bcc_recipients_setting.rb new file mode 100644 index 000000000..ed0eb11ea --- /dev/null +++ b/db/migrate/20210801145548_remove_bcc_recipients_setting.rb @@ -0,0 +1,5 @@ +class RemoveBccRecipientsSetting < ActiveRecord::Migration[6.1] + def change + Setting.where(:name => 'bcc_recipients').delete_all + end +end diff --git a/test/functional/account_controller_test.rb b/test/functional/account_controller_test.rb index d9b227121..d7f41a81e 100644 --- a/test/functional/account_controller_test.rb +++ b/test/functional/account_controller_test.rb @@ -445,7 +445,7 @@ class AccountControllerTest < Redmine::ControllerTest end end mail = ActionMailer::Base.deliveries.last - assert_equal ['jsmith@somenet.foo'], mail.bcc + assert_equal ['jsmith@somenet.foo'], mail.to end def test_lost_password_using_additional_email_address_should_send_email_to_the_address @@ -463,7 +463,7 @@ class AccountControllerTest < Redmine::ControllerTest end end mail = ActionMailer::Base.deliveries.last - assert_equal ['anotherAddress@foo.bar'], mail.bcc + assert_equal ['anotherAddress@foo.bar'], mail.to end def test_lost_password_for_unknown_user_should_fail diff --git a/test/functional/admin_controller_test.rb b/test/functional/admin_controller_test.rb index 4ac9906d4..7c89c8aa5 100644 --- a/test/functional/admin_controller_test.rb +++ b/test/functional/admin_controller_test.rb @@ -107,7 +107,7 @@ class AdminControllerTest < Redmine::ControllerTest mail = ActionMailer::Base.deliveries.last assert_not_nil mail user = User.find(1) - assert_equal [user.mail], mail.bcc + assert_equal [user.mail], mail.to end def test_test_email_failure_should_display_the_error diff --git a/test/functional/email_addresses_controller_test.rb b/test/functional/email_addresses_controller_test.rb index 5984cf886..7242bb294 100644 --- a/test/functional/email_addresses_controller_test.rb +++ b/test/functional/email_addresses_controller_test.rb @@ -172,8 +172,8 @@ class EmailAddressesControllerTest < Redmine::ControllerTest assert_select 'a[href^=?]', 'http://localhost:3000/my/account', :text => 'My account' end # The old email address should be notified about a new address for security purposes - assert [mail.bcc, mail.cc].flatten.include?(User.find(2).mail) - assert [mail.bcc, mail.cc].flatten.include?('something@example.fr') + assert mail.to.include?(User.find(2).mail) + assert mail.to.include?('something@example.fr') end def test_update @@ -230,7 +230,7 @@ class EmailAddressesControllerTest < Redmine::ControllerTest assert_mail_body_match I18n.t(:mail_body_security_notification_notify_disabled, value: 'another@somenet.foo'), mail # The changed address should be notified for security purposes - assert [mail.bcc, mail.cc].flatten.include?('another@somenet.foo') + assert mail.to.include?('another@somenet.foo') end def test_destroy @@ -300,6 +300,6 @@ class EmailAddressesControllerTest < Redmine::ControllerTest assert_mail_body_match I18n.t(:mail_body_security_notification_remove, field: I18n.t(:field_mail), value: 'another@somenet.foo'), mail # The removed address should be notified for security purposes - assert [mail.bcc, mail.cc].flatten.include?('another@somenet.foo') + assert mail.to.include?('another@somenet.foo') end end diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index b2ca3ed0c..36d906fd2 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -4332,9 +4332,9 @@ class IssuesControllerTest < Redmine::ControllerTest # Watchers notified assert_equal 3, ActionMailer::Base.deliveries.size mail = ActionMailer::Base.deliveries[1] - assert [mail.bcc, mail.cc].flatten.include?(User.find(3).mail) + assert [mail.to].flatten.include?(User.find(3).mail) mail = ActionMailer::Base.deliveries[2] - assert [mail.bcc, mail.cc].flatten.include?(User.find(8).mail) + assert [mail.to].flatten.include?(User.find(8).mail) end def test_post_create_subissue diff --git a/test/functional/issues_custom_fields_visibility_test.rb b/test/functional/issues_custom_fields_visibility_test.rb index c263fed99..9b12de5cc 100644 --- a/test/functional/issues_custom_fields_visibility_test.rb +++ b/test/functional/issues_custom_fields_visibility_test.rb @@ -281,34 +281,32 @@ class IssuesCustomFieldsVisibilityTest < Redmine::ControllerTest ActionMailer::Base.deliveries.clear @request.session[:user_id] = 1 - with_settings :bcc_recipients => '1' do - assert_difference 'Issue.count' do - post( - :create, - :params => { - :project_id => 1, - :issue => { - :tracker_id => 1, - :status_id => 1, - :subject => 'New issue', - :priority_id => 5, - :custom_field_values => { - @field1.id.to_s => 'Value0', - @field2.id.to_s => 'Value1', - @field3.id.to_s => 'Value2' - }, - :watcher_user_ids => users_to_test.keys.map(&:id) - } + assert_difference 'Issue.count' do + post( + :create, + :params => { + :project_id => 1, + :issue => { + :tracker_id => 1, + :status_id => 1, + :subject => 'New issue', + :priority_id => 5, + :custom_field_values => { + @field1.id.to_s => 'Value0', + @field2.id.to_s => 'Value1', + @field3.id.to_s => 'Value2' + }, + :watcher_user_ids => users_to_test.keys.map(&:id) } - ) - assert_response 302 - end + } + ) + assert_response 302 end assert_equal users_to_test.keys.size, ActionMailer::Base.deliveries.size # tests that each user receives 1 email with the custom fields he is allowed to see only users_to_test.each do |user, fields| - mails = ActionMailer::Base.deliveries.select {|m| m.bcc.include? user.mail} + mails = ActionMailer::Base.deliveries.select {|m| m.to.include? user.mail} assert_equal 1, mails.size mail = mails.first @fields.each_with_index do |field, i| @@ -330,26 +328,24 @@ class IssuesCustomFieldsVisibilityTest < Redmine::ControllerTest end ActionMailer::Base.deliveries.clear @request.session[:user_id] = 1 - with_settings :bcc_recipients => '1' do - put( - :update, - :params => { - :id => @issue.id, - :issue => { - :custom_field_values => { - @field1.id.to_s => 'NewValue0', - @field2.id.to_s => 'NewValue1', - @field3.id.to_s => 'NewValue2' - } + put( + :update, + :params => { + :id => @issue.id, + :issue => { + :custom_field_values => { + @field1.id.to_s => 'NewValue0', + @field2.id.to_s => 'NewValue1', + @field3.id.to_s => 'NewValue2' } } - ) - assert_response 302 - end + } + ) + assert_response 302 assert_equal users_to_test.keys.size, ActionMailer::Base.deliveries.size # tests that each user receives 1 email with the custom fields he is allowed to see only users_to_test.each do |user, fields| - mails = ActionMailer::Base.deliveries.select {|m| m.bcc.include? user.mail} + mails = ActionMailer::Base.deliveries.select {|m| m.to.include? user.mail} assert_equal 1, mails.size mail = mails.first @fields.each_with_index do |field, i| @@ -371,22 +367,20 @@ class IssuesCustomFieldsVisibilityTest < Redmine::ControllerTest end ActionMailer::Base.deliveries.clear @request.session[:user_id] = 1 - with_settings :bcc_recipients => '1' do - put( - :update, - :params => { - :id => @issue.id, - :issue => { - :custom_field_values => { - @field2.id.to_s => 'NewValue1', @field3.id.to_s => 'NewValue2' - } + put( + :update, + :params => { + :id => @issue.id, + :issue => { + :custom_field_values => { + @field2.id.to_s => 'NewValue1', @field3.id.to_s => 'NewValue2' } } - ) - assert_response 302 - end + } + ) + assert_response 302 users_to_test.each do |user, fields| - mails = ActionMailer::Base.deliveries.select {|m| m.bcc.include? user.mail} + mails = ActionMailer::Base.deliveries.select {|m| m.to.include? user.mail} if (fields & [@field2, @field3]).any? assert_equal 1, mails.size, "User #{user.id} was not notified" else diff --git a/test/functional/messages_controller_test.rb b/test/functional/messages_controller_test.rb index 88f3691e4..f5760b08f 100644 --- a/test/functional/messages_controller_test.rb +++ b/test/functional/messages_controller_test.rb @@ -159,11 +159,10 @@ class MessagesControllerTest < Redmine::ControllerTest assert_mail_body_match 'Message body', mail end - bcc_email_addresses = mails.map(&:bcc).flatten # author - assert_includes bcc_email_addresses, 'jsmith@somenet.foo' + assert_equal ['jsmith@somenet.foo'], mails[0].to # project member - assert_includes bcc_email_addresses, 'dlopper@somenet.foo' + assert_equal ['dlopper@somenet.foo'], mails[1].to end def test_get_edit diff --git a/test/functional/my_controller_test.rb b/test/functional/my_controller_test.rb index 2bf8b3516..6e93e3303 100644 --- a/test/functional/my_controller_test.rb +++ b/test/functional/my_controller_test.rb @@ -506,8 +506,8 @@ class MyControllerTest < Redmine::ControllerTest assert_select 'a[href^=?]', 'http://localhost:3000/my/account', :text => 'My account' end # The old email address should be notified about the change for security purposes - assert [mail.bcc, mail.cc].flatten.include?(User.find(2).mail) - assert [mail.bcc, mail.cc].flatten.include?('foobar@example.com') + assert mail.to.include?(User.find(2).mail) + assert mail.to.include?('foobar@example.com') end def test_my_account_notify_about_high_priority_issues_preference diff --git a/test/functional/settings_controller_test.rb b/test/functional/settings_controller_test.rb index 1a2125c2f..3e59d2eec 100644 --- a/test/functional/settings_controller_test.rb +++ b/test/functional/settings_controller_test.rb @@ -78,14 +78,12 @@ class SettingsControllerTest < Redmine::ControllerTest post :edit, :params => { :settings => { :mail_from => 'functional@test.foo', - :bcc_recipients => '0', :notified_events => %w(issue_added issue_updated news_added), :emails_footer => 'Test footer' } } assert_redirected_to '/settings' assert_equal 'functional@test.foo', Setting.mail_from - assert !Setting.bcc_recipients? assert_equal %w(issue_added issue_updated news_added), Setting.notified_events assert_equal 'Test footer', Setting.emails_footer end @@ -174,9 +172,8 @@ class SettingsControllerTest < Redmine::ControllerTest assert_select 'a[href^=?]', 'http://localhost:3000/settings' end # All admins should receive this - recipients = [mail.bcc, mail.cc].flatten User.active.where(admin: true).each do |admin| - assert_include admin.mail, recipients + assert_include admin.mail, mail.to end end diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index c963bf248..4dae5138f 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -283,25 +283,20 @@ class UsersControllerTest < Redmine::ControllerTest end def test_create - with_settings :bcc_recipients => '1' do - assert_difference 'User.count' do - assert_difference 'ActionMailer::Base.deliveries.size' do - post( - :create, - :params => { - :user => { - :firstname => 'John', - :lastname => 'Doe', - :login => 'jdoe', - :password => 'secret123', - :password_confirmation => 'secret123', - :mail => 'jdoe@gmail.com', - :mail_notification => 'none' - }, - :send_information => '1' - } - ) - end + assert_difference 'User.count' do + assert_difference 'ActionMailer::Base.deliveries.size' do + post :create, :params => { + :user => { + :firstname => 'John', + :lastname => 'Doe', + :login => 'jdoe', + :password => 'secret123', + :password_confirmation => 'secret123', + :mail => 'jdoe@gmail.com', + :mail_notification => 'none' + }, + :send_information => '1' + } end end @@ -317,7 +312,7 @@ class UsersControllerTest < Redmine::ControllerTest mail = ActionMailer::Base.deliveries.last assert_not_nil mail - assert_equal [user.mail], mail.bcc + assert_equal [user.mail], mail.to assert_mail_body_match 'secret', mail end @@ -455,7 +450,7 @@ class UsersControllerTest < Redmine::ControllerTest User.where(admin: true, status: Principal::STATUS_ACTIVE).each do |admin| assert_not_nil( ActionMailer::Base.deliveries.detect do |mail| - [mail.bcc, mail.cc].flatten.include?(admin.mail) + [mail.to].flatten.include?(admin.mail) end ) end @@ -463,6 +458,7 @@ class UsersControllerTest < Redmine::ControllerTest def test_create_non_admin_should_not_send_security_notification ActionMailer::Base.deliveries.clear + post :create, :params => { :user => { :firstname => 'Edgar', @@ -474,6 +470,7 @@ class UsersControllerTest < Redmine::ControllerTest :admin => '0' } } + assert_nil ActionMailer::Base.deliveries.last end @@ -481,6 +478,7 @@ class UsersControllerTest < Redmine::ControllerTest with_settings :gravatar_enabled => '1' do get :edit, :params => {:id => 2} end + assert_response :success assert_select 'h2>a+img.gravatar' assert_select 'input[name=?][value=?]', 'user[login]', 'jsmith' @@ -496,7 +494,9 @@ class UsersControllerTest < Redmine::ControllerTest def test_edit_should_be_denied_for_anonymous assert User.find(6).anonymous? + get :edit, :params => {:id => 6} + assert_response 404 end @@ -505,16 +505,19 @@ class UsersControllerTest < Redmine::ControllerTest field.update_attribute :text_formatting, 'full' get :edit, :params => {:id => 2} + assert_response :success end def test_update ActionMailer::Base.deliveries.clear + put :update, :params => { :id => 2, :user => {:firstname => 'Changed', :mail_notification => 'only_assigned'}, :pref => {:hide_mail => '1', :comments_sorting => 'desc'} } + user = User.find(2) assert_equal 'Changed', user.firstname assert_equal 'only_assigned', user.mail_notification @@ -539,6 +542,7 @@ class UsersControllerTest < Redmine::ControllerTest :id => 2, :user => {:group_ids => ['10']} } + user = User.find(2) assert_equal [10], user.group_ids end @@ -550,84 +554,81 @@ class UsersControllerTest < Redmine::ControllerTest u.status = User::STATUS_REGISTERED u.save! ActionMailer::Base.deliveries.clear - with_settings :bcc_recipients => '1' do - put( - :update, - :params => { - :id => u.id, - :user => {:status => User::STATUS_ACTIVE} - } - ) - end + + put( + :update, + :params => { + :id => u.id, + :user => {:status => User::STATUS_ACTIVE} + } + ) + assert u.reload.active? mail = ActionMailer::Base.deliveries.last assert_not_nil mail - assert_equal ['foo.bar@somenet.foo'], mail.bcc + assert_equal ['foo.bar@somenet.foo'], mail.to assert_mail_body_match ll('fr', :notice_account_activated), mail end def test_update_with_password_change_should_send_a_notification ActionMailer::Base.deliveries.clear - with_settings :bcc_recipients => '1' do - put( - :update, - :params => { - :id => 2, - :user => { - :password => 'newpass123', - :password_confirmation => 'newpass123' - }, - :send_information => '1' - } - ) - end + + put( + :update, + :params => { + :id => 2, + :user => { + :password => 'newpass123', + :password_confirmation => 'newpass123' + }, + :send_information => '1' + } + ) u = User.find(2) assert u.check_password?('newpass123') mail = ActionMailer::Base.deliveries.last assert_not_nil mail - assert_equal [u.mail], mail.bcc + assert_equal [u.mail], mail.to assert_mail_body_match 'newpass123', mail end def test_update_with_password_change_by_admin_should_send_a_security_notification - with_settings :bcc_recipients => '0' do - ActionMailer::Base.deliveries.clear - user = User.find_by(login: 'jsmith') + ActionMailer::Base.deliveries.clear + user = User.find_by(login: 'jsmith') - put :update, :params => { - :id => user.id, - :user => {:password => 'newpass123', :password_confirmation => 'newpass123'} - } + put :update, :params => { + :id => user.id, + :user => {:password => 'newpass123', :password_confirmation => 'newpass123'} + } - assert_equal 1, ActionMailer::Base.deliveries.size - mail = ActionMailer::Base.deliveries.last - assert_equal [user.mail], mail.to - assert_match 'Security notification', mail.subject - assert_mail_body_match 'Your password has been changed.', mail - end + assert_equal 1, ActionMailer::Base.deliveries.size + mail = ActionMailer::Base.deliveries.last + assert_equal [user.mail], mail.to + assert_match 'Security notification', mail.subject + assert_mail_body_match 'Your password has been changed.', mail end def test_update_with_generate_password_should_email_the_password ActionMailer::Base.deliveries.clear - with_settings :bcc_recipients => '1' do - put( - :update, - :params => { - :id => 2, - :user => { - :generate_password => '1', - :password => '', - :password_confirmation => '' - }, - :send_information => '1' - } - ) - end + + put( + :update, + :params => { + :id => 2, + :user => { + :generate_password => '1', + :password => '', + :password_confirmation => '' + }, + :send_information => '1' + } + ) + mail = ActionMailer::Base.deliveries.last assert_not_nil mail u = User.find(2) - assert_equal [u.mail], mail.bcc + assert_equal [u.mail], mail.to m = mail_body(mail).match(/Password: ([a-zA-Z0-9]+)/) assert m password = m[1] @@ -720,7 +721,7 @@ class UsersControllerTest < Redmine::ControllerTest User.where(admin: true, status: Principal::STATUS_ACTIVE).each do |admin| assert_not_nil( ActionMailer::Base.deliveries.detect do |mail| - [mail.bcc, mail.cc].flatten.include?(admin.mail) + [mail.to].flatten.include?(admin.mail) end ) end @@ -750,7 +751,7 @@ class UsersControllerTest < Redmine::ControllerTest User.where(admin: true, status: Principal::STATUS_ACTIVE).each do |admin| assert_not_nil( ActionMailer::Base.deliveries.detect do |mail| - [mail.bcc, mail.cc].flatten.include?(admin.mail) + [mail.to].flatten.include?(admin.mail) end ) end @@ -780,7 +781,7 @@ class UsersControllerTest < Redmine::ControllerTest User.where(admin: true, status: Principal::STATUS_ACTIVE).each do |admin| assert_not_nil( ActionMailer::Base.deliveries.detect do |mail| - [mail.bcc, mail.cc].flatten.include?(admin.mail) + [mail.to].flatten.include?(admin.mail) end ) end @@ -816,7 +817,7 @@ class UsersControllerTest < Redmine::ControllerTest User.where(admin: true, status: Principal::STATUS_ACTIVE).each do |admin| assert_not_nil( ActionMailer::Base.deliveries.detect do |mail| - [mail.bcc, mail.cc].flatten.include?(admin.mail) + [mail.to].flatten.include?(admin.mail) end ) end @@ -928,7 +929,7 @@ class UsersControllerTest < Redmine::ControllerTest User.where(admin: true, status: Principal::STATUS_ACTIVE).each do |admin| assert_not_nil( ActionMailer::Base.deliveries.detect do |mail| - [mail.bcc, mail.cc].flatten.include?(admin.mail) + [mail.to].flatten.include?(admin.mail) end ) end diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb index 797e4eca7..e298f4d68 100644 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -2686,7 +2686,7 @@ class IssueTest < ActiveSupport::TestCase issue.assigned_to = nil issue.save! - assert_include [user.mail], ActionMailer::Base.deliveries.map(&:bcc) + assert_include [user.mail], ActionMailer::Base.deliveries.map(&:to) end end diff --git a/test/unit/mailer_test.rb b/test/unit/mailer_test.rb index da12788f8..dc56eba3b 100644 --- a/test/unit/mailer_test.rb +++ b/test/unit/mailer_test.rb @@ -324,7 +324,7 @@ class MailerTest < ActiveSupport::TestCase user.pref.save User.current = user Mailer.deliver_news_added(news.reload) - assert_equal 1, last_email.bcc.size + assert_equal 1, last_email.to.size # nobody to notify user.pref.no_self_notified = true @@ -430,8 +430,8 @@ class MailerTest < ActiveSupport::TestCase issue = Issue.find(1) assert Mailer.deliver_issue_add(issue) - assert mail = ActionMailer::Base.deliveries.find {|m| m.bcc.include?('dlopper@somenet.foo')} - assert mail.bcc.include?('otheremail@somenet.foo') + assert mail = ActionMailer::Base.deliveries.find {|m| m.to.include?('dlopper@somenet.foo')} + assert mail.to.include?('otheremail@somenet.foo') end test "#issue_add should not notify project members that are not allow to view the issue" do @@ -650,8 +650,8 @@ class MailerTest < ActiveSupport::TestCase 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? + assert_not_nil last_email.to + assert last_email.to.any? assert_select_email do assert_select "a[href=?]", "http://localhost:3000/projects/ecookbook/files" end @@ -660,8 +660,8 @@ class MailerTest < ActiveSupport::TestCase 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? + assert_not_nil last_email.to + assert last_email.to.any? assert_select_email do assert_select "a[href=?]", "http://localhost:3000/projects/ecookbook/files" end @@ -735,7 +735,7 @@ class MailerTest < ActiveSupport::TestCase Mailer.reminders(:days => days) assert_equal 1, ActionMailer::Base.deliveries.size mail = last_email - assert mail.bcc.include?('dlopper@somenet.foo') + assert mail.to.include?('dlopper@somenet.foo') assert_mail_body_match 'Bug #3: Error 281 when updating a recipe (5 days late)', mail assert_mail_body_match 'View all issues (2 open)', mail url = @@ -763,7 +763,7 @@ class MailerTest < ActiveSupport::TestCase Mailer.reminders(:days => 42) assert_equal 1, ActionMailer::Base.deliveries.size mail = last_email - assert mail.bcc.include?('dlopper@somenet.foo') + assert mail.to.include?('dlopper@somenet.foo') assert_mail_body_match( 'Bug #3: Error 281 when updating a recipe (En retard de 5 jours)', mail @@ -783,7 +783,7 @@ class MailerTest < ActiveSupport::TestCase Mailer.reminders(:days => 42) assert_equal 1, ActionMailer::Base.deliveries.size mail = last_email - assert mail.bcc.include?('dlopper@somenet.foo') + assert mail.to.include?('dlopper@somenet.foo') assert_mail_body_no_match 'Closed issue', mail end end @@ -795,7 +795,7 @@ class MailerTest < ActiveSupport::TestCase Mailer.reminders(:days => 42, :users => ['3']) assert_equal 1, ActionMailer::Base.deliveries.size # No mail for dlopper mail = last_email - assert mail.bcc.include?('dlopper@somenet.foo') + assert mail.to.include?('dlopper@somenet.foo') assert_mail_body_match 'Bug #3: Error 281 when updating a recipe (5 days late)', mail end @@ -828,7 +828,7 @@ class MailerTest < ActiveSupport::TestCase ) assert_mail_body_match 'Assigned to group (Due in 5 days)', mail assert_mail_body_match( - "View all issues (#{mail.bcc.include?('dlopper@somenet.foo') ? 3 : 2} open)", + "View all issues (#{mail.to.include?('dlopper@somenet.foo') ? 3 : 2} open)", mail ) end @@ -1125,7 +1125,7 @@ class MailerTest < ActiveSupport::TestCase # Returns an array of email addresses to which emails were sent def recipients - ActionMailer::Base.deliveries.map(&:bcc).flatten.sort + ActionMailer::Base.deliveries.map(&:to).flatten.sort end def last_email @@ -1143,6 +1143,6 @@ class MailerTest < ActiveSupport::TestCase end def destination_user(mail) - EmailAddress.where(:address => [mail.to, mail.cc, mail.bcc].flatten).map(&:user).first + EmailAddress.where(:address => [mail.to, mail.cc].flatten).map(&:user).first end end