Task remove all old validation event records

This commit is contained in:
Thiago Youssef 2022-05-18 11:08:37 +03:00
parent bbc1380e46
commit 4dcd6d765c
5 changed files with 28 additions and 53 deletions

View file

@ -95,27 +95,4 @@ class EmailCheckTest < ActiveSupport::TestCase
assert_equal @contact.validation_events.count, 1
assert @contact.validation_events.last.success
end
def test_should_remove_old_validation_records
trumail_results = OpenStruct.new(success: false,
email: @contact.email,
domain: "box.tests",
errors: {:mx=>"target host(s) not found"},
)
Spy.on_instance_method(Actions::EmailCheck, :check_email).and_return(trumail_results)
Spy.on_instance_method(Actions::AAndAaaaEmailValidation, :call).and_return([true])
action = Actions::EmailCheck.new(email: @contact.email,
validation_eventable: @contact,
check_level: 'regex')
action.call
assert_equal @contact.validation_events.count, 1
travel_to(Time.zone.now + ::ValidationEvent::VALIDATION_PERIOD + 1.minute)
action.call
assert_equal @contact.validation_events.count, 1
end
end

View file

@ -116,13 +116,32 @@ class VerifyEmailTaskTest < ActiveJob::TestCase
)
Spy.on_instance_method(Actions::EmailCheck, :check_email).and_return(trumail_results)
1.times do
run_task
end
run_task
assert contact.domains.last.force_delete_scheduled?
end
def test_should_remove_old_validation_records
trumail_results = OpenStruct.new(success: false,
email: @contact.email,
domain: 'box.tests',
errors: { mx: 'target host(s) not found' })
Spy.on_instance_method(Actions::EmailCheck, :check_email).and_return(trumail_results)
Spy.on_instance_method(Actions::AAndAaaaEmailValidation, :call).and_return([true])
Actions::EmailCheck.new(email: @contact.email,
validation_eventable: @contact,
check_level: 'regex').call
travel_to(Time.zone.now + ::ValidationEvent::VALIDATION_PERIOD + 1.minute)
assert_equal ValidationEvent.old_records.count, 1
run_task
assert_predicate ValidationEvent.old_records.count, :zero?
end
def run_task
perform_enqueued_jobs do
Rake::Task['verify_email:check_all'].execute