diff --git a/app/models/user.rb b/app/models/user.rb index 85e6fbc4e..2c01cca4a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -198,7 +198,7 @@ class User < ActiveRecord::Base ######### Mailer ####################### def mail(job, *args) pref = job.to_s.gsub('Job::Mail', '').underscore - unless self.disable_mail || self.user_preferences.exists?(:email_type => pref) + if(self.disable_mail == false && !self.user_preferences.exists?(:email_type => pref)) Resque.enqueue(job, *args) end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 0fa5ffc4f..dd4453fe0 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -504,6 +504,14 @@ describe User do Resque.should_not_receive(:enqueue) alice.mail(Job::MailRequestReceived, alice.id, 'contactrequestid') end + + it 'does not send a mail if disable_mail is set to true' do + alice.disable_mail = true + alice.save + alice.reload + Resque.should_not_receive(:enqueue) + alice.mail(Job::MailRequestReceived, alice.id, 'contactrequestid') + end end end