Log RegistrantChange#expired, RegistrantChange#notice emails sending

#186
This commit is contained in:
Artur Beljajev 2016-11-23 01:01:00 +02:00
parent 64be27fe53
commit 968a59cd3d
4 changed files with 106 additions and 1 deletions

View file

@ -1,8 +1,20 @@
class RegistrantChangeExpiredEmailJob < Que::Job class RegistrantChangeExpiredEmailJob < Que::Job
def run(domain_id) def run(domain_id)
domain = Domain.find(domain_id) domain = Domain.find(domain_id)
log(domain)
RegistrantChangeMailer.expired(domain: domain, RegistrantChangeMailer.expired(domain: domain,
registrar: domain.registrar, registrar: domain.registrar,
registrant: domain.registrant).deliver_now registrant: domain.registrant).deliver_now
end end
private
def log(domain)
message = "Send RegistrantChangeMailer#expired email for domain ##{domain.id} to #{domain.new_registrant_email}"
logger.info(message)
end
def logger
Rails.logger
end
end end

View file

@ -2,10 +2,21 @@ class RegistrantChangeNoticeEmailJob < Que::Job
def run(domain_id, new_registrant_id) def run(domain_id, new_registrant_id)
domain = Domain.find(domain_id) domain = Domain.find(domain_id)
new_registrant = Registrant.find(new_registrant_id) new_registrant = Registrant.find(new_registrant_id)
log(domain, new_registrant)
RegistrantChangeMailer.notice(domain: domain, RegistrantChangeMailer.notice(domain: domain,
registrar: domain.registrar, registrar: domain.registrar,
current_registrant: domain.registrant, current_registrant: domain.registrant,
new_registrant: new_registrant).deliver_now new_registrant: new_registrant).deliver_now
end end
private
def log(domain, new_registrant)
message = "Send RegistrantChangeMailer#notice email for domain ##{domain.id} to #{new_registrant.email}"
logger.info(message)
end
def logger
Rails.logger
end
end end

View file

@ -0,0 +1,39 @@
require 'rails_helper'
RSpec.describe RegistrantChangeExpiredEmailJob do
describe '#run' do
let(:domain) { instance_double(Domain,
id: 1,
new_registrant_email: 'new-registrant@test.com',
registrar: 'registrar',
registrant: 'registrant')
}
let(:message) { instance_double(ActionMailer::MessageDelivery) }
before :example do
expect(Domain).to receive(:find).and_return(domain)
end
after :example do
domain_id = 1
described_class.enqueue(domain_id)
end
it 'creates log record' do
log_message = 'Send RegistrantChangeMailer#expired email for domain #1 to new-registrant@test.com'
allow(RegistrantChangeMailer).to receive(:expired).and_return(message)
allow(message).to receive(:deliver_now)
expect(Rails.logger).to receive(:info).with(log_message)
end
it 'sends email' do
expect(RegistrantChangeMailer).to receive(:expired).with(domain: domain,
registrar: 'registrar',
registrant: 'registrant')
.and_return(message)
expect(message).to receive(:deliver_now)
end
end
end

View file

@ -0,0 +1,43 @@
require 'rails_helper'
RSpec.describe RegistrantChangeNoticeEmailJob do
describe '#run' do
let(:domain) { instance_double(Domain,
id: 1,
registrant_email: 'registrant@test.com',
registrar: 'registrar',
registrant: 'registrant')
}
let(:new_registrant) { instance_double(Registrant, email: 'new-registrant@test.com') }
let(:message) { instance_double(ActionMailer::MessageDelivery) }
before :example do
expect(Domain).to receive(:find).and_return(domain)
expect(Registrant).to receive(:find).and_return(new_registrant)
end
after :example do
domain_id = 1
new_registrant_id = 1
described_class.enqueue(domain_id, new_registrant_id)
end
it 'creates log record' do
log_message = 'Send RegistrantChangeMailer#notice email for domain #1 to new-registrant@test.com'
allow(RegistrantChangeMailer).to receive(:notice).and_return(message)
allow(message).to receive(:deliver_now)
expect(Rails.logger).to receive(:info).with(log_message)
end
it 'sends email' do
expect(RegistrantChangeMailer).to receive(:notice).with(domain: domain,
registrar: 'registrar',
current_registrant: 'registrant',
new_registrant: new_registrant)
.and_return(message)
expect(message).to receive(:deliver_now)
end
end
end