users: fix exception in can_receive_email?.
This commit is contained in:
@@ -362,7 +362,7 @@ class User < ApplicationRecord
|
|||||||
|
|
||||||
module EmailMethods
|
module EmailMethods
|
||||||
def can_receive_email?(require_verified_email: true)
|
def can_receive_email?(require_verified_email: true)
|
||||||
email_address.present? && email_address.is_deliverable? && (email_address.is_verified? || !require_verification)
|
email_address.present? && email_address.is_deliverable? && (email_address.is_verified? || !require_verified_email)
|
||||||
end
|
end
|
||||||
|
|
||||||
def change_email(new_email, request)
|
def change_email(new_email, request)
|
||||||
|
|||||||
@@ -27,6 +27,13 @@ class UserMailerTest < ActionMailer::TestCase
|
|||||||
mail = UserMailer.dmail_notice(@dmail)
|
mail = UserMailer.dmail_notice(@dmail)
|
||||||
assert_emails(0) { mail.deliver_now }
|
assert_emails(0) { mail.deliver_now }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "not send an email for a user with an unverified address" do
|
||||||
|
@user = create(:user, email_address: build(:email_address, is_verified: false))
|
||||||
|
@dmail = create(:dmail, owner: @user, to: @user)
|
||||||
|
mail = UserMailer.dmail_notice(@dmail)
|
||||||
|
assert_emails(0) { mail.deliver_now }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "password_reset method" do
|
context "password_reset method" do
|
||||||
|
|||||||
Reference in New Issue
Block a user