From 48f64f18d4f7da4e62c1f782a6ecb31d6225d625 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Fri, 25 Nov 2016 12:23:52 +0200 Subject: [PATCH] Fix domain_expire_mailer #186 --- app/mailers/domain_expire_mailer.rb | 4 ++-- spec/mailers/domain_expire_mailer_spec.rb | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/mailers/domain_expire_mailer.rb b/app/mailers/domain_expire_mailer.rb index b7217546d..ecbd8ee3d 100644 --- a/app/mailers/domain_expire_mailer.rb +++ b/app/mailers/domain_expire_mailer.rb @@ -7,7 +7,7 @@ class DomainExpireMailer < ApplicationMailer subject = default_i18n_subject(domain_name: domain.name) 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) end @@ -24,7 +24,7 @@ class DomainExpireMailer < ApplicationMailer # Needed because there are invalid emails in the database, which have been imported from legacy app def filter_invalid_emails(emails:, domain:) - emails.keep_if do |email| + emails.select do |email| valid = EmailValidator.new(email).valid? unless valid diff --git a/spec/mailers/domain_expire_mailer_spec.rb b/spec/mailers/domain_expire_mailer_spec.rb index 9e03fc4e8..e5660c11b 100644 --- a/spec/mailers/domain_expire_mailer_spec.rb +++ b/spec/mailers/domain_expire_mailer_spec.rb @@ -31,7 +31,7 @@ RSpec.describe DomainExpireMailer do expect(message.subject).to eq('The test.com domain has expired') 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,' \ ' recipient@test.com' 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]) 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' \ ' invalid recipient invalid_email' expect(described_class.logger).to receive(:info).with(log_message)