Merge pull request #1156 from internetee/refactor-domain-delete-mailer

Refactor domain delete mailer
This commit is contained in:
Timo Võhmar 2019-04-11 12:23:42 +03:00 committed by GitHub
commit 7e0fd30125
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 34 additions and 27 deletions

View file

@ -3,9 +3,9 @@ class DomainDeleteConfirmEmailJob < Que::Job
domain = Domain.find(domain_id) domain = Domain.find(domain_id)
log(domain) log(domain)
DomainDeleteMailer.confirm(domain: domain, DomainDeleteMailer.confirmation(domain: domain,
registrar: domain.registrar, registrar: domain.registrar,
registrant: domain.registrant).deliver_now registrant: domain.registrant).deliver_now
end end
private private

View file

@ -3,10 +3,10 @@ class DomainDeleteMailer < ApplicationMailer
%w[private_person legal_person] %w[private_person legal_person]
end end
def confirm(domain:, registrar:, registrant:) def confirmation(domain:, registrar:, registrant:)
@domain = DomainPresenter.new(domain: domain, view: view_context) @domain = DomainPresenter.new(domain: domain, view: view_context)
@registrar = RegistrarPresenter.new(registrar: registrar, view: view_context) @registrar = RegistrarPresenter.new(registrar: registrar, view: view_context)
@confirm_url = confirm_url(domain) @confirmation_url = confirmation_url(domain)
subject = default_i18n_subject(domain_name: domain.name) subject = default_i18n_subject(domain_name: domain.name)
mail(to: registrant.email, subject: subject) mail(to: registrant.email, subject: subject)
@ -28,7 +28,7 @@ class DomainDeleteMailer < ApplicationMailer
private private
def confirm_url(domain) def confirmation_url(domain)
registrant_domain_delete_confirm_url(domain, token: domain.registrant_verification_token) registrant_domain_delete_confirm_url(domain, token: domain.registrant_verification_token)
end end
end end

View file

@ -8,11 +8,8 @@ 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 @confirm_url, @confirm_url %> <%= link_to @confirmation_url, @confirmation_url %>
<br><br> <%= render 'mailers/shared/signatures/signature.et.html' %>
Lugupidamisega<br>
Eesti Interneti Sihtasutus
<br><br>
<hr> <hr>
<br><br> <br><br>
Hi, Hi,
@ -23,9 +20,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 @confirm_url, @confirm_url %> <%= link_to @confirmation_url, @confirmation_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> <%= render 'mailers/shared/signatures/signature.en.html' %>
Best Regards,<br>
Estonian Internet Foundation

View file

@ -7,10 +7,9 @@ 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.
<%= @confirm_url %> <%= @confirmation_url %>
Lugupidamisega <%= render 'mailers/shared/signatures/signature.et.text' %>
Eesti Interneti Sihtasutus
-------------------------------------- --------------------------------------
@ -21,9 +20,8 @@ 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:
<%= @confirm_url %> <%= @confirmation_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.
Best Regards, <%= render 'mailers/shared/signatures/signature.en.text' %>
Estonian Internet Foundation

View file

@ -1,7 +1,9 @@
en: en:
domain_delete_mailer: domain_delete_mailer:
confirm: confirmation:
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: forced:
subject: >- subject: >-
Domeen %{domain_name} on kustutusmenetluses Domeen %{domain_name} on kustutusmenetluses

View file

@ -14,18 +14,22 @@ class DomainDeleteMailerTest < ActiveSupport::TestCase
def test_delivers_domain_delete_confirmation_email def test_delivers_domain_delete_confirmation_email
assert_equal 'shop.test', @domain.name assert_equal 'shop.test', @domain.name
assert_equal 'john@inbox.test', @domain.registrant.email
email = DomainDeleteMailer.confirm(domain: @domain, email = DomainDeleteMailer.confirmation(domain: @domain,
registrar: @domain.registrar, registrar: @domain.registrar,
registrant: @domain.registrant).deliver_now registrant: @domain.registrant).deliver_now
assert_emails 1 assert_emails 1
assert_equal ['john@inbox.test'], email.to
assert_equal 'Kinnitustaotlus domeeni shop.test kustutamiseks .ee registrist' \ assert_equal 'Kinnitustaotlus domeeni shop.test kustutamiseks .ee registrist' \
' / Application for approval for deletion of shop.test', email.subject ' / Application for approval for deletion of shop.test', email.subject
end end
def test_delivers_domain_force_delete_email def test_delivers_domain_force_delete_email
assert_equal 'shop.test', @domain.name assert_equal 'shop.test', @domain.name
assert_equal 'john@inbox.test', @domain.registrant.email
assert_equal 'jane@mail.test', @domain.admin_contacts.first.email
email = DomainDeleteMailer.forced(domain: @domain, email = DomainDeleteMailer.forced(domain: @domain,
registrar: @domain.registrar, registrar: @domain.registrar,
@ -34,6 +38,7 @@ class DomainDeleteMailerTest < ActiveSupport::TestCase
.first).deliver_now .first).deliver_now
assert_emails 1 assert_emails 1
assert_equal %w[jane@mail.test john@inbox.test], email.to
assert_equal 'Domeen shop.test on kustutusmenetluses' \ assert_equal 'Domeen shop.test on kustutusmenetluses' \
' / Domain shop.test is in deletion process' \ ' / Domain shop.test is in deletion process' \
' / Домен shop.test в процессе удаления', email.subject ' / Домен shop.test в процессе удаления', email.subject

View file

@ -12,4 +12,11 @@ class DomainDeleteMailerPreview < ActionMailer::Preview
end end
define_forced_templates define_forced_templates
def confirmation
domain = Domain.first
DomainDeleteMailer.confirmation(domain: domain,
registrar: domain.registrar,
registrant: domain.registrant)
end
end end