Add tests for FD to be set

This commit is contained in:
Alex Sherman 2021-02-25 16:43:38 +05:00
parent da033724b1
commit c0282660d9

View file

@ -5,6 +5,11 @@ class ForceDeleteTest < ActionMailer::TestCase
@domain = domains(:shop)
Setting.redemption_grace_period = 30
ActionMailer::Base.deliveries.clear
@old_validation_type = Truemail.configure.default_validation_type
end
teardown do
Truemail.configure.default_validation_type = @old_validation_type
end
def test_schedules_force_delete_fast_track
@ -315,4 +320,52 @@ class ForceDeleteTest < ActionMailer::TestCase
assert @domain.force_delete_scheduled?
assert @domain.registrant_update_confirmable?(@domain.registrant_verification_token)
end
def test_schedules_force_delete_after_bounce
@domain.update(valid_to: Time.zone.parse('2012-08-05'))
assert_not @domain.force_delete_scheduled?
travel_to Time.zone.parse('2010-07-05')
prepare_bounced_email_address(@domain.admin_contacts.first.email)
@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
end
def test_schedules_force_delete_invalid_contact
@domain.update(valid_to: Time.zone.parse('2012-08-05'))
assert_not @domain.force_delete_scheduled?
travel_to Time.zone.parse('2010-07-05')
Truemail.configure.default_validation_type = :regex
contact = @domain.admin_contacts.first
contact.update(email: 'some@strangesentence@internet.ee')
assert contact.email_verification_failed?
assert contact.invalid?
@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
end
def prepare_bounced_email_address(email)
@bounced_mail = BouncedMailAddress.new
@bounced_mail.email = email
@bounced_mail.message_id = '010f0174a0c7d348-ea6e2fc1-0854-4073-b71f-5cecf9b0d0b2-000000'
@bounced_mail.bounce_type = 'Permanent'
@bounced_mail.bounce_subtype = 'General'
@bounced_mail.action = 'failed'
@bounced_mail.status = '5.1.1'
@bounced_mail.diagnostic = 'smtp; 550 5.1.1 user unknown'
@bounced_mail.save!
end
end