mirror of
https://github.com/internetee/registry.git
synced 2025-06-07 13:15:40 +02:00
Merge pull request #1985 from internetee/1913-update-forceDelete-notes-with-additional-invalid-emails
changed method for add additional mails in status notes
This commit is contained in:
commit
4a613a80e5
2 changed files with 49 additions and 1 deletions
|
@ -11,11 +11,21 @@ module Domains
|
||||||
domains = domain_contacts.map(&:domain).flatten +
|
domains = domain_contacts.map(&:domain).flatten +
|
||||||
Domain.where(registrant_id: registrant_ids)
|
Domain.where(registrant_id: registrant_ids)
|
||||||
|
|
||||||
domains.each { |domain| process_force_delete(domain) unless domain.force_delete_scheduled? }
|
domains.each do |domain|
|
||||||
|
before_execute_force_delete(domain)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def before_execute_force_delete(domain)
|
||||||
|
if domain.force_delete_scheduled? && !domain.status_notes[DomainStatus::FORCE_DELETE].nil?
|
||||||
|
added_additional_email_into_notes(domain)
|
||||||
|
else
|
||||||
|
process_force_delete(domain)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def process_force_delete(domain)
|
def process_force_delete(domain)
|
||||||
domain.schedule_force_delete(type: :soft,
|
domain.schedule_force_delete(type: :soft,
|
||||||
notify_by_email: true,
|
notify_by_email: true,
|
||||||
|
@ -24,6 +34,13 @@ module Domains
|
||||||
save_status_note(domain)
|
save_status_note(domain)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def added_additional_email_into_notes(domain)
|
||||||
|
return if domain.status_notes[DomainStatus::FORCE_DELETE].include? email
|
||||||
|
|
||||||
|
domain.status_notes[DomainStatus::FORCE_DELETE].concat(' ' + email)
|
||||||
|
domain.save(validate: false)
|
||||||
|
end
|
||||||
|
|
||||||
def save_status_note(domain)
|
def save_status_note(domain)
|
||||||
domain.status_notes[DomainStatus::FORCE_DELETE] = email
|
domain.status_notes[DomainStatus::FORCE_DELETE] = email
|
||||||
domain.save(validate: false)
|
domain.save(validate: false)
|
||||||
|
|
|
@ -385,6 +385,37 @@ class ForceDeleteTest < ActionMailer::TestCase
|
||||||
assert notification.text.include? asserted_text
|
assert notification.text.include? asserted_text
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_domain_should_have_several_bounced_emails
|
||||||
|
@domain.update(valid_to: Time.zone.parse('2012-08-05'))
|
||||||
|
assert_not @domain.force_delete_scheduled?
|
||||||
|
travel_to Time.zone.parse('2010-07-05')
|
||||||
|
email_one = 'one@strangesentence@internet.ee'
|
||||||
|
email_two = 'two@strangesentence@internet.ee'
|
||||||
|
asserted_text_one = "Invalid email: #{email_one}"
|
||||||
|
asserted_text_two = "Invalid email: #{email_two}"
|
||||||
|
|
||||||
|
contact_one = @domain.admin_contacts.first
|
||||||
|
contact_one.update_attribute(:email, email_one)
|
||||||
|
contact_one.email_verification.verify
|
||||||
|
|
||||||
|
assert contact_one.email_verification_failed?
|
||||||
|
|
||||||
|
contact_two = @domain.admin_contacts.first
|
||||||
|
contact_two.update_attribute(:email, email_two)
|
||||||
|
contact_two.email_verification.verify
|
||||||
|
|
||||||
|
assert contact_one.email_verification_failed?
|
||||||
|
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert @domain.force_delete_scheduled?
|
||||||
|
assert_equal 'invalid_email', @domain.template_name
|
||||||
|
assert_equal Date.parse('2010-09-19'), @domain.force_delete_date.to_date
|
||||||
|
assert_equal Date.parse('2010-08-05'), @domain.force_delete_start.to_date
|
||||||
|
assert @domain.status_notes[DomainStatus::FORCE_DELETE].include? email_one
|
||||||
|
assert @domain.status_notes[DomainStatus::FORCE_DELETE].include? email_two
|
||||||
|
end
|
||||||
|
|
||||||
def test_lifts_force_delete_if_contact_fixed
|
def test_lifts_force_delete_if_contact_fixed
|
||||||
@domain.update(valid_to: Time.zone.parse('2012-08-05'))
|
@domain.update(valid_to: Time.zone.parse('2012-08-05'))
|
||||||
assert_not @domain.force_delete_scheduled?
|
assert_not @domain.force_delete_scheduled?
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue