mirror of
https://github.com/internetee/registry.git
synced 2025-07-27 21:16:12 +02:00
Create check force delete rake task
This commit is contained in:
parent
c246bbaa6d
commit
e159821a86
5 changed files with 93 additions and 47 deletions
46
test/tasks/check_force_delete_test.rb
Normal file
46
test/tasks/check_force_delete_test.rb
Normal file
|
@ -0,0 +1,46 @@
|
|||
require 'test_helper'
|
||||
|
||||
class CheckForceDeleteTaskTest < ActiveSupport::TestCase
|
||||
include ActiveJob::TestHelper
|
||||
|
||||
def setup
|
||||
@contact = contacts(:john)
|
||||
@invalid_contact = contacts(:invalid_email)
|
||||
end
|
||||
|
||||
def test_enque_force_delete_when_three_invalid_records_by_mx
|
||||
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([])
|
||||
|
||||
action = Actions::EmailCheck.new(email: @contact.email,
|
||||
validation_eventable: @contact,
|
||||
check_level: 'mx')
|
||||
3.times do
|
||||
action.call
|
||||
end
|
||||
|
||||
run_task
|
||||
|
||||
assert_enqueued_jobs 1
|
||||
assert_enqueued_with(job: ValidationEventCheckForceDeleteJob, args: [@contact.id])
|
||||
end
|
||||
|
||||
def test_enque_force_delete_when_invalid_record_by_regex
|
||||
@invalid_contact.verify_email
|
||||
run_task
|
||||
|
||||
assert_enqueued_jobs 1
|
||||
assert_enqueued_with(job: ValidationEventCheckForceDeleteJob, args: [@invalid_contact.id])
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def run_task
|
||||
Rake::Task['check_force_delete'].execute
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue