Merge pull request #1768 from internetee/1767-move-domain-cron-to-interactors

Move DomainCron methods to interactor
This commit is contained in:
Timo Võhmar 2020-12-14 15:19:50 +02:00 committed by GitHub
commit c05864486f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 274 additions and 78 deletions

View file

@ -0,0 +1,28 @@
require 'test_helper'
class StartTest < ActiveSupport::TestCase
include ActionMailer::TestHelper
setup do
@domain = domains(:shop)
@domain.update(expire_time: Time.zone.now - 1.day)
ActionMailer::Base.deliveries.clear
end
def test_sets_expired
job_count = lambda do
QueJob.where("args->>0 = '#{@domain.id}'", job_class: DomainExpireEmailJob.name).count
end
assert_difference job_count, 1 do
perform_enqueued_jobs do
DomainCron.start_expire_period
end
end
@domain.reload
assert @domain.statuses.include?(DomainStatus::EXPIRED)
assert_equal @domain.outzone_at, @domain.expire_time + Domain.expire_warning_period
assert_equal @domain.delete_date, (@domain.outzone_at + Domain.redemption_grace_period).to_date
end
end

View file

@ -0,0 +1,25 @@
require 'test_helper'
class StartTest < ActiveSupport::TestCase
setup do
@domain = domains(:shop)
@domain.update(outzone_time: Time.zone.now - 1.day)
end
def test_sets_server_hold
DomainCron.start_redemption_grace_period
@domain.reload
assert @domain.statuses.include?(DomainStatus::SERVER_HOLD)
end
def test_doesnt_sets_server_hold_if_not_outzone
@domain.update(outzone_time: nil)
@domain.reload
DomainCron.start_redemption_grace_period
@domain.reload
assert_not @domain.statuses.include?(DomainStatus::SERVER_HOLD)
end
end

View file

@ -19,7 +19,9 @@ class DomainCronTest < ActiveSupport::TestCase
registrant_verification_token: 'test',
statuses: [DomainStatus::PENDING_DELETE_CONFIRMATION])
DomainCron.clean_expired_pendings
perform_enqueued_jobs do
DomainCron.clean_expired_pendings
end
assert_emails 1
end
@ -84,7 +86,9 @@ class DomainCronTest < ActiveSupport::TestCase
assert @domain.pending_update?
@domain.reload
DomainCron.clean_expired_pendings
perform_enqueued_jobs do
DomainCron.clean_expired_pendings
end
@domain.reload
assert_not @domain.pending_update?