Fix domain_expire_mailer

#186
This commit is contained in:
Artur Beljajev 2016-11-25 12:23:52 +02:00
parent 4f13258352
commit 48f64f18d4
2 changed files with 10 additions and 4 deletions

View file

@ -7,7 +7,7 @@ class DomainExpireMailer < ApplicationMailer
subject = default_i18n_subject(domain_name: domain.name) subject = default_i18n_subject(domain_name: domain.name)
logger.info("Send DomainExpireMailer#expired email for domain #{domain.name} (##{domain.id})" \ logger.info("Send DomainExpireMailer#expired email for domain #{domain.name} (##{domain.id})" \
" to #{domain.primary_contact_emails.join(', ')}") " to #{recipient.join(', ')}")
mail(to: recipient, subject: subject) mail(to: recipient, subject: subject)
end end
@ -24,7 +24,7 @@ class DomainExpireMailer < ApplicationMailer
# Needed because there are invalid emails in the database, which have been imported from legacy app # Needed because there are invalid emails in the database, which have been imported from legacy app
def filter_invalid_emails(emails:, domain:) def filter_invalid_emails(emails:, domain:)
emails.keep_if do |email| emails.select do |email|
valid = EmailValidator.new(email).valid? valid = EmailValidator.new(email).valid?
unless valid unless valid

View file

@ -31,7 +31,7 @@ RSpec.describe DomainExpireMailer do
expect(message.subject).to eq('The test.com domain has expired') expect(message.subject).to eq('The test.com domain has expired')
end end
it 'creates log record' do it 'logs valid emails' do
log_message = 'Send DomainExpireMailer#expired email for domain test.com (#1) to recipient@test.com,' \ log_message = 'Send DomainExpireMailer#expired email for domain test.com (#1) to recipient@test.com,' \
' recipient@test.com' ' recipient@test.com'
expect(described_class.logger).to receive(:info).with(log_message) expect(described_class.logger).to receive(:info).with(log_message)
@ -54,7 +54,13 @@ RSpec.describe DomainExpireMailer do
expect(message.to).to match_array(%w[valid@test.com]) expect(message.to).to match_array(%w[valid@test.com])
end end
it 'creates log record' do it 'does not log invalid email in success message' do
log_message = 'Send DomainExpireMailer#expired email for domain test.com (#1) to valid@test.com'
expect(described_class.logger).to receive(:info).with(log_message)
message.deliver_now
end
it 'logs invalid email in error message' do
log_message = 'Unable to send DomainExpireMailer#expired email for domain test.com (#1) to' \ log_message = 'Unable to send DomainExpireMailer#expired email for domain test.com (#1) to' \
' invalid recipient invalid_email' ' invalid recipient invalid_email'
expect(described_class.logger).to receive(:info).with(log_message) expect(described_class.logger).to receive(:info).with(log_message)