Add explicit jobs for mailers

#186
This commit is contained in:
Artur Beljajev 2016-11-18 00:14:37 +02:00
parent eada1a66dd
commit 8a831ee92c
30 changed files with 205 additions and 201 deletions

View file

@ -0,0 +1,9 @@
class DomainDeleteConfirmEmailJob < Que::Job
def run(domain_id)
domain = Domain.find(domain_id)
DomainDeleteMailer.confirm(domain: domain,
registrar: domain.registrar,
registrant: domain.registrant).deliver_now
end
end

View file

@ -0,0 +1,9 @@
class DomainDeleteForcedEmailJob < Que::Job
def run(domain_id)
domain = Domain.find(domain_id)
DomainDeleteMailer.forced(domain: domain,
registrar: domain.registrar,
registrant: domain.registrant).deliver_now
end
end

View file

@ -1,10 +1,9 @@
class DomainExpirationEmailJob < Que::Job class DomainExpireEmailJob < Que::Job
def run(domain_id) def run(domain_id)
domain = Domain.find(domain_id) domain = Domain.find(domain_id)
return if domain.registered? return if domain.registered?
DomainExpireMailer.expired(domain: domain, registrar: domain.registrar).deliver_now DomainExpireMailer.expired(domain: domain, registrar: domain.registrar).deliver_now
destroy
end end
end end

View file

@ -16,8 +16,9 @@ class DomainUpdateConfirmJob < Que::Job
domain.clean_pendings! domain.clean_pendings!
raise_errors!(domain) raise_errors!(domain)
when RegistrantVerification::REJECTED when RegistrantVerification::REJECTED
RegistrantChangeMailer.rejected(domain: domain, registrar: domain.registrar, registrant: domain.registrant) RegistrantChangeMailer.rejected(domain: domain,
.deliver_now registrar: domain.registrar,
registrant: domain.registrant).deliver_now
domain.poll_message!(:poll_pending_update_rejected_by_registrant) domain.poll_message!(:poll_pending_update_rejected_by_registrant)
domain.clean_pendings_lowlevel domain.clean_pendings_lowlevel

View file

@ -0,0 +1,11 @@
class RegistrantChangeConfirmEmailJob < Que::Job
def run(domain_id, new_registrant_id)
domain = Domain.find(domain_id)
new_registrant = Registrant.find(new_registrant_id)
RegistrantChangeMailer.confirm(domain: domain,
registrar: domain.registrar,
current_registrant: domain.registrant,
new_registrant: new_registrant).deliver_now
end
end

View file

@ -0,0 +1,8 @@
class RegistrantChangeExpiredEmailJob < Que::Job
def run(domain_id)
domain = Domain.find(domain_id)
RegistrantChangeMailer.expired(domain: domain,
registrar: domain.registrar,
registrant: domain.registrant).deliver_now
end
end

View file

@ -0,0 +1,11 @@
class RegistrantChangeNoticeEmailJob < Que::Job
def run(domain_id, new_registrant_id)
domain = Domain.find(domain_id)
new_registrant = Registrant.find(new_registrant_id)
RegistrantChangeMailer.notice(domain: domain,
registrar: domain.registrar,
current_registrant: domain.registrant,
new_registrant: new_registrant).deliver_now
end
end

View file

@ -1,18 +0,0 @@
class DeleteDomainMailer < ApplicationMailer
include Que::Mailer
def pending(domain:, old_registrant:)
@domain = DomainPresenter.new(domain: domain, view: view_context)
@registrar = RegistrarPresenter.new(registrar: domain.registrar, view: view_context)
@verification_url = verification_url(domain)
subject = default_i18n_subject(domain_name: domain.name)
mail(to: old_registrant.email, subject: subject)
end
private
def verification_url(domain)
registrant_domain_delete_confirm_url(domain, token: domain.registrant_verification_token)
end
end

View file

@ -0,0 +1,24 @@
class DomainDeleteMailer < ApplicationMailer
def confirm(domain:, registrar:, registrant:)
@domain = DomainPresenter.new(domain: domain, view: view_context)
@registrar = RegistrarPresenter.new(registrar: registrar, view: view_context)
@confirm_url = confirm_url(domain)
subject = default_i18n_subject(domain_name: domain.name)
mail(to: registrant.email, subject: subject)
end
def forced(domain:, registrar:, registrant:)
@domain = DomainPresenter.new(domain: domain, view: view_context)
@registrar = RegistrarPresenter.new(registrar: registrar, view: view_context)
@registrant = RegistrantPresenter.new(registrant: registrant, view: view_context)
mail(to: domain.primary_contact_emails)
end
private
def confirm_url(domain)
registrant_domain_delete_confirm_url(domain, token: domain.registrant_verification_token)
end
end

View file

@ -75,14 +75,6 @@ class DomainMailer < ApplicationMailer
name: @domain.name)} [#{@domain.name}]") name: @domain.name)} [#{@domain.name}]")
end end
def force_delete(domain:)
@domain = DomainPresenter.new(domain: domain, view: view_context)
@registrar = RegistrarPresenter.new(registrar: domain.registrar, view: view_context)
@registrant = RegistrantPresenter.new(registrant: domain.registrant, view: view_context)
mail(to: domain.primary_contact_emails)
end
private private
# app/models/DomainMailModel provides the data for mail that can be composed_from # app/models/DomainMailModel provides the data for mail that can be composed_from
# which ensures that values of objects are captured when they are valid, not later when this method is executed # which ensures that values of objects are captured when they are valid, not later when this method is executed

View file

@ -379,11 +379,8 @@ class Domain < ActiveRecord::Base
new_registrant_email = registrant.email new_registrant_email = registrant.email
new_registrant_name = registrant.name new_registrant_name = registrant.name
current_registrant = Registrant.find(registrant_id_was) RegistrantChangeConfirmEmailJob.enqueue(id, new_registrant_id)
RegistrantChangeMailer.confirm(domain: self, registrar: registrar, current_registrant: current_registrant, RegistrantChangeNoticeEmailJob.enqueue(id, new_registrant_id)
new_registrant: registrant).deliver
RegistrantChangeMailer.notice(domain: self, registrar: registrar, current_registrant: current_registrant,
new_registrant: registrant).deliver
reload reload
@ -444,8 +441,7 @@ class Domain < ActiveRecord::Base
pending_delete_confirmation! pending_delete_confirmation!
save(validate: false) # should check if this did succeed save(validate: false) # should check if this did succeed
old_registrant = Registrant.find(registrant_id_was) DomainDeleteConfirmEmailJob.enqueue(id)
DeleteDomainMailer.pending(domain: self, old_registrant: old_registrant).deliver
end end
def cancel_pending_delete def cancel_pending_delete
@ -566,12 +562,15 @@ class Domain < ActiveRecord::Base
end end
self.force_delete_at = (Time.zone.now + (Setting.redemption_grace_period.days + 1.day)).utc.beginning_of_day unless force_delete_at self.force_delete_at = (Time.zone.now + (Setting.redemption_grace_period.days + 1.day)).utc.beginning_of_day unless force_delete_at
transaction do transaction do
save!(validate: false) save!(validate: false)
registrar.messages.create!( registrar.messages.create!(
body: I18n.t('force_delete_set_on_domain', domain: name) body: I18n.t('force_delete_set_on_domain', domain: name)
) )
DomainMailer.force_delete(domain: self).deliver
DomainDeleteForcedEmailJob.enqueue(id)
return true return true
end end
false false
@ -745,6 +744,10 @@ class Domain < ActiveRecord::Base
pending_json['new_registrant_email'] pending_json['new_registrant_email']
end end
def new_registrant_id
pending_json['new_registrant_id']
end
def self.to_csv def self.to_csv
CSV.generate do |csv| CSV.generate do |csv|
csv << column_names csv << column_names

View file

@ -16,8 +16,7 @@ class DomainCron
end end
count += 1 count += 1
if domain.pending_update? if domain.pending_update?
RegistrantChangeMailer.expired(domain: domain, registrar: domain.registrar, registrant: domain.registrant) RegistrantChangeExpiredEmailJob.enqueue(domain.id)
.deliver
end end
if domain.pending_delete? || domain.pending_delete_confirmation? if domain.pending_delete? || domain.pending_delete_confirmation?
DomainMailer.pending_delete_expired_notification(domain.id, true).deliver DomainMailer.pending_delete_expired_notification(domain.id, true).deliver
@ -49,7 +48,7 @@ class DomainCron
saved = domain.save(validate: false) saved = domain.save(validate: false)
if saved if saved
DomainExpirationEmailJob.enqueue(domain.id, run_at: send_time) DomainExpireEmailJob.enqueue(domain.id, run_at: send_time)
marked += 1 marked += 1
end end
end end

View file

@ -571,7 +571,6 @@ class Epp::Domain < Domain
frame.css('delete').children.css('delete').attr('verified').to_s.downcase != 'yes' frame.css('delete').children.css('delete').attr('verified').to_s.downcase != 'yes'
registrant_verification_asked!(frame.to_s, user_id) registrant_verification_asked!(frame.to_s, user_id)
self.deliver_emails = true # turn on email delivery for epp
pending_delete! pending_delete!
manage_automatic_statuses manage_automatic_statuses
true # aka 1001 pending_delete true # aka 1001 pending_delete

View file

@ -8,7 +8,7 @@ Registrisse laekus taotlus domeeni <%= @domain.name %> kustutamiseks. Palun veen
Muudatuse kinnitamiseks külastage palun allolevat lehekülge, kontrollige uuesti üle muudatuse andmed ning vajutage nuppu kinnitan. Muudatuse kinnitamiseks külastage palun allolevat lehekülge, kontrollige uuesti üle muudatuse andmed ning vajutage nuppu kinnitan.
<br><br> <br><br>
Taotlus on aktiivne <%= Setting.expire_pending_confirmation %> tundi ja lükatakse automaatselt tagasi kui te seda enne ise ei kinnita või tagasi lükka.<br> Taotlus on aktiivne <%= Setting.expire_pending_confirmation %> tundi ja lükatakse automaatselt tagasi kui te seda enne ise ei kinnita või tagasi lükka.<br>
<%= link_to @verification_url, @verification_url %> <%= link_to @confirm_url, @confirm_url %>
<br><br> <br><br>
Lugupidamisega<br> Lugupidamisega<br>
Eesti Interneti Sihtasutus Eesti Interneti Sihtasutus
@ -23,7 +23,7 @@ Application for deletion of your domain <%= @domain.name %> has been filed. Plea
<br><br> <br><br>
To confirm the update please visit this website, once again review the data and press approve:<br> To confirm the update please visit this website, once again review the data and press approve:<br>
<%= link_to @verification_url, @verification_url %> <%= link_to @confirm_url, @confirm_url %>
<br><br> <br><br>
The application will remain in pending status for <%= Setting.expire_pending_confirmation %> hrs and will be automatically rejected if it is not approved nor rejected before. The application will remain in pending status for <%= Setting.expire_pending_confirmation %> hrs and will be automatically rejected if it is not approved nor rejected before.
<br><br> <br><br>

View file

@ -7,7 +7,7 @@ Registrisse laekus taotlus domeeni <%= @domain.name %> kustutamiseks. Palun veen
Muudatuse kinnitamiseks külastage palun allolevat lehekülge, kontrollige uuesti üle muudatuse andmed ning vajutage nuppu kinnitan. Muudatuse kinnitamiseks külastage palun allolevat lehekülge, kontrollige uuesti üle muudatuse andmed ning vajutage nuppu kinnitan.
Taotlus on aktiivne <%= Setting.expire_pending_confirmation %> tundi ja lükatakse automaatselt tagasi kui te seda enne ise ei kinnita või tagasi lükka. Taotlus on aktiivne <%= Setting.expire_pending_confirmation %> tundi ja lükatakse automaatselt tagasi kui te seda enne ise ei kinnita või tagasi lükka.
<%= @verification_url %> <%= @confirm_url %>
Lugupidamisega Lugupidamisega
Eesti Interneti Sihtasutus Eesti Interneti Sihtasutus
@ -21,7 +21,7 @@ Application for deletion of your domain <%= @domain.name %> has been filed. Plea
<%= render 'mailers/shared/registrar/registrar.en.text', registrar: @registrar %> <%= render 'mailers/shared/registrar/registrar.en.text', registrar: @registrar %>
To confirm the update please visit this website, once again review the data and press approve: To confirm the update please visit this website, once again review the data and press approve:
<%= @verification_url %> <%= @confirm_url %>
The application will remain in pending status for <%= Setting.expire_pending_confirmation %> hrs and will be automatically rejected if it is not approved nor rejected before. The application will remain in pending status for <%= Setting.expire_pending_confirmation %> hrs and will be automatically rejected if it is not approved nor rejected before.

View file

@ -1,4 +0,0 @@
en:
domain_mailer:
force_delete:
subject: Kustutusmenetluse teade

View file

@ -1,4 +1,6 @@
en: en:
delete_domain_mailer: domain_delete_mailer:
pending: confirm:
subject: Kinnitustaotlus domeeni %{domain_name} kustutamiseks .ee registrist / Application for approval for deletion of %{domain_name} subject: Kinnitustaotlus domeeni %{domain_name} kustutamiseks .ee registrist / Application for approval for deletion of %{domain_name}
forced:
subject: Kustutusmenetluse teade

View file

@ -1,6 +1,6 @@
require 'rails_helper' require 'rails_helper'
RSpec.describe DomainExpirationEmailJob do RSpec.describe DomainExpireEmailJob do
describe '#run' do describe '#run' do
let(:domain) { instance_double(Domain) } let(:domain) { instance_double(Domain) }

View file

@ -1,42 +0,0 @@
require 'rails_helper'
RSpec.describe DeleteDomainMailer do
describe '#pending' do
let(:domain) { instance_spy(Domain, name: 'test.com') }
let(:old_registrant) { instance_spy(Registrant, email: 'registrant@test.com') }
let(:domain_presenter) { instance_spy(DomainPresenter) }
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
subject(:message) { described_class.pending(domain: domain, old_registrant: old_registrant) }
before :example do
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
end
it 'has sender' do
expect(message.from).to eq(['noreply@internet.ee'])
end
it 'has old registrant email as a recipient' do
expect(message.to).to match_array(['registrant@test.com'])
end
it 'has subject' do
subject = 'Kinnitustaotlus domeeni test.com kustutamiseks .ee registrist' \
' / Application for approval for deletion of test.com'
expect(message.subject).to eq(subject)
end
it 'has confirmation url' do
allow(domain).to receive(:id).and_return(1)
expect(domain).to receive(:registrant_verification_token).and_return('test')
url = registrant_domain_delete_confirm_url(domain, token: 'test')
expect(message.body.parts.first.decoded).to include(url)
end
it 'sends message' do
expect { message.deliver! }.to change { ActionMailer::Base.deliveries.count }.by(1)
end
end
end

View file

@ -0,0 +1,82 @@
require 'rails_helper'
RSpec.describe DomainDeleteMailer do
describe '#confirm' do
let(:domain) { instance_spy(Domain, name: 'test.com') }
let(:registrar) { instance_spy(Registrar) }
let(:registrant) { instance_spy(Registrant, email: 'registrant@test.com') }
let(:domain_presenter) { instance_spy(DomainPresenter) }
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
subject(:message) { described_class.confirm(domain: domain,
registrar: registrar,
registrant: registrant)
}
before :example do
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
end
it 'has sender' do
expect(message.from).to eq(['noreply@internet.ee'])
end
it 'has registrant\'s email as a recipient' do
expect(message.to).to match_array(['registrant@test.com'])
end
it 'has subject' do
subject = 'Kinnitustaotlus domeeni test.com kustutamiseks .ee registrist' \
' / Application for approval for deletion of test.com'
expect(message.subject).to eq(subject)
end
it 'has confirm url' do
allow(domain).to receive(:id).and_return(1)
expect(domain).to receive(:registrant_verification_token).and_return('test')
url = registrant_domain_delete_confirm_url(domain, token: 'test')
expect(message.body.parts.first.decoded).to include(url)
end
it 'sends message' do
expect { message.deliver! }.to change { ActionMailer::Base.deliveries.count }.by(1)
end
end
describe '#forced' do
let(:domain) { instance_spy(Domain, name: 'test.com') }
let(:domain_presenter) { instance_spy(DomainPresenter) }
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
let(:registrant_presenter) { instance_spy(RegistrantPresenter) }
subject(:message) { described_class.forced(domain: domain,
registrar: 'registrar',
registrant: 'registrant')
}
before :example do
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
expect(RegistrantPresenter).to receive(:new).and_return(registrant_presenter)
end
it 'has sender' do
expect(message.from).to eq(['noreply@internet.ee'])
end
it 'has recipient' do
expect(domain).to receive(:primary_contact_emails).and_return(['recipient@test.com'])
expect(message.to).to match_array(['recipient@test.com'])
end
it 'has valid subject' do
expect(message.subject).to eq('Kustutusmenetluse teade')
end
it 'sends message' do
expect { message.deliver! }.to change { ActionMailer::Base.deliveries.count }.by(1)
end
end
end

View file

@ -1,34 +1,5 @@
require 'rails_helper' require 'rails_helper'
RSpec.describe DomainMailer do RSpec.describe DomainMailer do
describe '#force_delete' do
let(:domain) { instance_spy(Domain, name: 'test.com') }
let(:domain_presenter) { instance_spy(DomainPresenter) }
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
let(:registrant_presenter) { instance_spy(RegistrantPresenter) }
subject(:message) { described_class.force_delete(domain: domain) }
before :example do
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
expect(RegistrantPresenter).to receive(:new).and_return(registrant_presenter)
end
it 'has sender' do
expect(message.from).to eq(['noreply@internet.ee'])
end
it 'has recipient' do
expect(domain).to receive(:primary_contact_emails).and_return(['recipient@test.com'])
expect(message.to).to match_array(['recipient@test.com'])
end
it 'has valid subject' do
expect(message.subject).to eq('Kustutusmenetluse teade')
end
it 'sends message' do
expect { message.deliver! }.to change { ActionMailer::Base.deliveries.count }.by(1)
end
end
end end

View file

@ -805,26 +805,6 @@ RSpec.describe Domain, db: false do
end end
end end
describe '#pending_delete!' do
let(:domain) { described_class.new }
let(:old_registrant) { instance_double(Registrant) }
let(:message) { instance_double(Mail::Message) }
before :example do
expect(Registrant).to receive(:find).and_return(old_registrant)
allow(domain).to receive(:registrant_verification_asked?).and_return(true)
allow(domain).to receive(:save)
end
it 'sends notification email' do
expect(DeleteDomainMailer).to receive(:pending)
.with(domain: domain, old_registrant: old_registrant)
.and_return(message)
expect(message).to receive(:deliver)
domain.pending_delete!
end
end
describe '#set_graceful_expired' do describe '#set_graceful_expired' do
let(:domain) { described_class.new } let(:domain) { described_class.new }
@ -877,46 +857,6 @@ RSpec.describe Domain, db: false do
end end
end end
describe '#pending_update!', db: false do
let(:domain) { described_class.new }
let(:current_registrant) { FactoryGirl.build_stubbed(:registrant) }
let(:new_registrant) { FactoryGirl.build_stubbed(:registrant) }
let(:message) { instance_double(Mail::Message) }
before :example do
expect(Registrant).to receive(:find).and_return(current_registrant)
expect(domain).to receive_messages(
reload: true,
pending_update?: false,
registrant_verification_asked?: true,
registrar: 'registrar',
registrant: new_registrant,
manage_automatic_statuses: true
)
end
it 'sends confirm and notice emails' do
allow(RegistrantChangeMailer).to receive(:notice).and_return(message)
expect(RegistrantChangeMailer).to receive(:confirm)
.with(
domain: domain,
registrar: 'registrar',
current_registrant: current_registrant,
new_registrant: new_registrant)
.and_return(message)
expect(RegistrantChangeMailer).to receive(:notice)
.with(
domain: domain,
registrar: 'registrar',
current_registrant: current_registrant,
new_registrant: new_registrant)
.and_return(message)
expect(message).to receive(:deliver).exactly(2).times
domain.pending_update!
end
end
describe '#new_registrant_email' do describe '#new_registrant_email' do
let(:domain) { described_class.new(pending_json: { new_registrant_email: 'test@test.com' }) } let(:domain) { described_class.new(pending_json: { new_registrant_email: 'test@test.com' }) }
@ -924,4 +864,12 @@ RSpec.describe Domain, db: false do
expect(domain.new_registrant_email).to eq('test@test.com') expect(domain.new_registrant_email).to eq('test@test.com')
end end
end end
describe '#new_registrant_id' do
let(:domain) { described_class.new(pending_json: { new_registrant_id: 1 }) }
it 'returns new registrant\'s id' do
expect(domain.new_registrant_id).to eq(1)
end
end
end end

View file

@ -1,11 +1,11 @@
require 'rails_helper' require 'rails_helper'
require_relative 'pending_shared' require_relative 'confirm_shared'
RSpec.describe 'mailers/delete_domain_mailer/pending.html.erb' do RSpec.describe 'mailers/domain_delete_mailer/confirm.html.erb' do
before :example do before :example do
stub_template 'mailers/shared/registrar/_registrar.et.html' => 'test registrar estonian' stub_template 'mailers/shared/registrar/_registrar.et.html' => 'test registrar estonian'
stub_template 'mailers/shared/registrar/_registrar.en.html' => 'test registrar english' stub_template 'mailers/shared/registrar/_registrar.en.html' => 'test registrar english'
end end
include_examples 'delete domain mailer pending' include_examples 'domain delete mailer confirm'
end end

View file

@ -1,11 +1,11 @@
require 'rails_helper' require 'rails_helper'
require_relative 'pending_shared' require_relative 'confirm_shared'
RSpec.describe 'mailers/delete_domain_mailer/pending.text.erb' do RSpec.describe 'mailers/domain_delete_mailer/confirm.text.erb' do
before :example do before :example do
stub_template 'mailers/shared/registrar/_registrar.et.text' => 'test registrar estonian' stub_template 'mailers/shared/registrar/_registrar.et.text' => 'test registrar estonian'
stub_template 'mailers/shared/registrar/_registrar.en.text' => 'test registrar english' stub_template 'mailers/shared/registrar/_registrar.en.text' => 'test registrar english'
end end
include_examples 'delete domain mailer pending' include_examples 'domain delete mailer confirm'
end end

View file

@ -1,13 +1,13 @@
require 'rails_helper' require 'rails_helper'
RSpec.shared_examples 'delete domain mailer pending' do RSpec.shared_examples 'domain delete mailer confirm' do
let(:domain) { instance_spy(DomainPresenter) } let(:domain) { instance_spy(DomainPresenter) }
let(:lang_count) { 2 } let(:lang_count) { 2 }
before :example do before :example do
assign(:domain, domain) assign(:domain, domain)
assign(:registrar, nil) assign(:registrar, nil)
assign(:verification_url, 'test verification url') assign(:confirm_url, 'test confirm url')
end end
it 'has registrar info in estonian' do it 'has registrar info in estonian' do
@ -27,9 +27,9 @@ RSpec.shared_examples 'delete domain mailer pending' do
expect(rendered).to have_text('test domain name', count: mention_count) expect(rendered).to have_text('test domain name', count: mention_count)
end end
it 'has verification url' do it 'has confirm url' do
mention_count = 1 * lang_count mention_count = 1 * lang_count
render render
expect(rendered).to have_text('test verification url', count: mention_count) expect(rendered).to have_text('test confirm url', count: mention_count)
end end
end end

View file

@ -1,12 +1,12 @@
require 'rails_helper' require 'rails_helper'
require_relative 'force_delete_shared' require_relative 'forced_shared'
RSpec.describe 'mailers/domain_mailer/force_delete.html.erb' do RSpec.describe 'mailers/domain_delete_mailer/forced.html.erb' do
before :example do before :example do
stub_template 'mailers/shared/registrar/_registrar.et.html' => 'test registrar estonian' stub_template 'mailers/shared/registrar/_registrar.et.html' => 'test registrar estonian'
stub_template 'mailers/shared/registrar/_registrar.en.html' => 'test registrar english' stub_template 'mailers/shared/registrar/_registrar.en.html' => 'test registrar english'
stub_template 'mailers/shared/registrar/_registrar.ru.html' => 'test registrar russian' stub_template 'mailers/shared/registrar/_registrar.ru.html' => 'test registrar russian'
end end
include_examples 'domain mailer force delete' include_examples 'domain delete mailer forced'
end end

View file

@ -1,12 +1,12 @@
require 'rails_helper' require 'rails_helper'
require_relative 'force_delete_shared' require_relative 'forced_shared'
RSpec.describe 'mailers/domain_mailer/force_delete.text.erb' do RSpec.describe 'mailers/domain_delete_mailer/forced.text.erb' do
before :example do before :example do
stub_template 'mailers/shared/registrar/_registrar.et.text' => 'test registrar estonian' stub_template 'mailers/shared/registrar/_registrar.et.text' => 'test registrar estonian'
stub_template 'mailers/shared/registrar/_registrar.en.text' => 'test registrar english' stub_template 'mailers/shared/registrar/_registrar.en.text' => 'test registrar english'
stub_template 'mailers/shared/registrar/_registrar.ru.text' => 'test registrar russian' stub_template 'mailers/shared/registrar/_registrar.ru.text' => 'test registrar russian'
end end
include_examples 'domain mailer force delete' include_examples 'domain delete mailer forced'
end end

View file

@ -1,6 +1,6 @@
require 'rails_helper' require 'rails_helper'
RSpec.shared_examples 'domain mailer force delete' do RSpec.shared_examples 'domain delete mailer forced' do
let(:domain) { instance_spy(DomainPresenter) } let(:domain) { instance_spy(DomainPresenter) }
let(:registrar) { instance_spy(RegistrarPresenter) } let(:registrar) { instance_spy(RegistrarPresenter) }
let(:registrant) { instance_spy(RegistrantPresenter) } let(:registrant) { instance_spy(RegistrantPresenter) }