mirror of
https://github.com/internetee/registry.git
synced 2025-08-03 00:12:03 +02:00
Add a rake task running job & test for job
This commit is contained in:
parent
e110924968
commit
5f0c031410
8 changed files with 92 additions and 105 deletions
|
@ -4,9 +4,6 @@ class VerifyEmailsJobTest < ActiveJob::TestCase
|
|||
def setup
|
||||
@contact = contacts(:john)
|
||||
@invalid_contact = contacts(:invalid_email)
|
||||
@contact_verification = @contact.email_verification
|
||||
@invalid_contact_verification = @invalid_contact.email_verification
|
||||
|
||||
@default_whitelist = Truemail.configure.whitelisted_domains
|
||||
@default_blacklist = Truemail.configure.blacklisted_domains
|
||||
Truemail.configure.whitelisted_domains = whitelisted_domains
|
||||
|
@ -33,33 +30,21 @@ class VerifyEmailsJobTest < ActiveJob::TestCase
|
|||
end
|
||||
|
||||
def test_job_checks_if_email_valid
|
||||
perform_enqueued_jobs do
|
||||
VerifyEmailsJob.perform_now(@contact_verification.id)
|
||||
assert_difference 'ValidationEvent.successful.count', 1 do
|
||||
perform_enqueued_jobs do
|
||||
VerifyEmailsJob.perform_now(contact_id: @contact.id, check_level: 'regex')
|
||||
end
|
||||
end
|
||||
@contact_verification.reload
|
||||
|
||||
assert @contact_verification.success
|
||||
end
|
||||
|
||||
def test_job_checks_does_not_run_if_recent
|
||||
old_verified_at = Time.zone.now - 10.days
|
||||
@contact_verification.update(success: true, verified_at: old_verified_at)
|
||||
assert @contact_verification.recently_verified?
|
||||
|
||||
perform_enqueued_jobs do
|
||||
VerifyEmailsJob.perform_now(@contact_verification.id)
|
||||
end
|
||||
@contact_verification.reload
|
||||
|
||||
assert_in_delta @contact_verification.verified_at.to_i, old_verified_at.to_i, 1
|
||||
assert ValidationEvent.validated_ids_by(Contact).include? @contact.id
|
||||
end
|
||||
|
||||
def test_job_checks_if_email_invalid
|
||||
perform_enqueued_jobs do
|
||||
VerifyEmailsJob.perform_now(@invalid_contact_verification.id)
|
||||
VerifyEmailsJob.perform_now(contact_id: @invalid_contact.id, check_level: 'regex')
|
||||
end
|
||||
@contact_verification.reload
|
||||
@invalid_contact.reload
|
||||
|
||||
refute @contact_verification.success
|
||||
refute @invalid_contact.validation_events.last.success
|
||||
refute ValidationEvent.validated_ids_by(Contact).include? @invalid_contact.id
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,8 +5,6 @@ class VerifyEmailTaskTest < ActiveJob::TestCase
|
|||
def setup
|
||||
@contact = contacts(:john)
|
||||
@invalid_contact = contacts(:invalid_email)
|
||||
@contact_verification = @contact.email_verification
|
||||
@invalid_contact_verification = @invalid_contact.email_verification
|
||||
|
||||
@default_whitelist = Truemail.configure.whitelisted_domains
|
||||
@default_blacklist = Truemail.configure.blacklisted_domains
|
||||
|
@ -36,32 +34,15 @@ class VerifyEmailTaskTest < ActiveJob::TestCase
|
|||
def test_tasks_verifies_emails
|
||||
capture_io { run_task }
|
||||
|
||||
@contact_verification.reload
|
||||
@invalid_contact_verification.reload
|
||||
|
||||
assert @contact_verification.verified?
|
||||
assert @invalid_contact_verification.failed?
|
||||
end
|
||||
|
||||
def test_domain_task_verifies_for_one_domain
|
||||
capture_io { run_single_domain_task(@contact_verification.domain) }
|
||||
|
||||
@contact_verification.reload
|
||||
@invalid_contact_verification.reload
|
||||
|
||||
assert @contact_verification.verified?
|
||||
assert @invalid_contact_verification.not_verified?
|
||||
assert ValidationEvent.validated_ids_by(Contact).include? @contact.id
|
||||
assert @contact.validation_events.last.success
|
||||
refute @invalid_contact.validation_events.last.success
|
||||
refute ValidationEvent.validated_ids_by(Contact).include? @invalid_contact.id
|
||||
end
|
||||
|
||||
def run_task
|
||||
perform_enqueued_jobs do
|
||||
Rake::Task['verify_email:all_domains'].execute
|
||||
end
|
||||
end
|
||||
|
||||
def run_single_domain_task(domain)
|
||||
perform_enqueued_jobs do
|
||||
Rake::Task["verify_email:domain"].invoke(domain)
|
||||
Rake::Task['verify_email:check_all'].execute
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue