diff --git a/app/jobs/registrant_change_expired_email_job.rb b/app/jobs/registrant_change_expired_email_job.rb index 68712af400..17b57be52e 100644 --- a/app/jobs/registrant_change_expired_email_job.rb +++ b/app/jobs/registrant_change_expired_email_job.rb @@ -12,7 +12,8 @@ def perform(domain_id) private def log(domain) - message = "Send RegistrantChangeMailer#expired email for domain #{domain.name} (##{domain.id}) to #{domain.new_registrant_email}" + message = 'Send RegistrantChangeMailer#expired email for domain '\ + "#{domain.name} (##{domain.id}) to #{domain.new_registrant_email}" logger.info(message) end diff --git a/app/models/concerns/domain/deletable.rb b/app/models/concerns/domain/deletable.rb index db81856b8d..9143cdf27c 100644 --- a/app/models/concerns/domain/deletable.rb +++ b/app/models/concerns/domain/deletable.rb @@ -19,8 +19,12 @@ def delete_later end def do_not_delete_later - # Que job can be manually deleted in admin area UI - QueJob.find_by("args->>0 = '#{id}'", job_class: DomainDeleteJob.name)&.destroy + return if Rails.env.test? + + jobs = Sidekiq::ScheduledSet.new.select do |job| + job.args.first['job_class'] == 'DomainDeleteJob' && job.args.first['arguments'] == [id] + end + jobs.each(&:delete) end def deletion_time_span diff --git a/app/models/que_job.rb b/app/models/que_job.rb deleted file mode 100644 index f9dd50ac87..0000000000 --- a/app/models/que_job.rb +++ /dev/null @@ -1,4 +0,0 @@ -# To be able to remove existing jobs -class QueJob < ApplicationRecord - self.primary_key = 'job_id' -end diff --git a/test/interactions/expire_period/start_test.rb b/test/interactions/expire_period/start_test.rb index a1b9e9dc85..766f07ae5b 100644 --- a/test/interactions/expire_period/start_test.rb +++ b/test/interactions/expire_period/start_test.rb @@ -1,5 +1,4 @@ require 'test_helper' -require 'sidekiq/testing' class StartTest < ActiveSupport::TestCase include ActionMailer::TestHelper @@ -11,7 +10,7 @@ class StartTest < ActiveSupport::TestCase end def test_sets_expired - Sidekiq::Testing.inline! do + Sidekiq::Testing.fake! do perform_enqueued_jobs do DomainCron.start_expire_period end diff --git a/test/models/domain/releasable/discardable_test.rb b/test/models/domain/releasable/discardable_test.rb index 796b4eac5d..a5ff9309e3 100644 --- a/test/models/domain/releasable/discardable_test.rb +++ b/test/models/domain/releasable/discardable_test.rb @@ -1,4 +1,6 @@ require 'test_helper' +require 'sidekiq/testing' +Sidekiq::Testing.fake! class DomainReleasableDiscardableTest < ActiveSupport::TestCase include ActiveJob::TestHelper @@ -44,11 +46,7 @@ def test_ignores_already_discarded_domains Domain.release_domains - job_count = lambda do - QueJob.where("args->>0 = '#{@domain.id}'", job_class: DomainDeleteJob.name).count - end - - assert_no_difference job_count, 'A domain should not be discarded again' do + assert_no_enqueued_jobs do Domain.release_domains end end @@ -104,7 +102,8 @@ def test_keeping_a_domain_bypasses_validation def test_keeping_a_domain_cancels_domain_deletion @domain.update!(statuses: [DomainStatus::DELETE_CANDIDATE]) - @domain.keep - assert_nil QueJob.find_by("args->>0 = '#{@domain.id}'", job_class: DomainDeleteJob.name) + assert_no_enqueued_jobs only: DomainDeleteJob do + @domain.keep + end end end diff --git a/test/system/admin_area/domains_test.rb b/test/system/admin_area/domains_test.rb index 05e7d60f36..9a59247fe7 100644 --- a/test/system/admin_area/domains_test.rb +++ b/test/system/admin_area/domains_test.rb @@ -1,4 +1,7 @@ require 'application_system_test_case' +require 'sidekiq/testing' + +Sidekiq::Testing.fake! class AdminDomainsTestTest < ApplicationSystemTestCase setup do diff --git a/test/test_helper.rb b/test/test_helper.rb index 578c3ee9b2..df2e9878ef 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -18,6 +18,9 @@ require 'capybara/minitest' require 'webmock/minitest' require 'support/assertions/epp_assertions' +require 'sidekiq/testing' + +Sidekiq::Testing.fake! # `bin/rails test` is not the same as `bin/rake test`.