jobs: update jobs dashboard to work with GoodJob.

Update the jobs dashboard at /delayed_jobs to work with GoodJob instead
of DelayedJob.
This commit is contained in:
evazion
2022-01-02 21:05:10 -06:00
parent c06bfa64f5
commit f7784d2340
7 changed files with 59 additions and 173 deletions

View File

@@ -1,5 +0,0 @@
FactoryBot.define do
factory :delayed_job, class: Delayed::Job do
handler { "" }
end
end

View File

@@ -0,0 +1,15 @@
FactoryBot.define do
factory :good_job, class: GoodJob::ActiveJobJob do
transient do
job { VacuumDatabaseJob.new }
end
id { SecureRandom.uuid }
active_job_id { job.job_id }
queue_name { job.queue_name }
priority { job.priority }
serialized_params do
{ job_class: job.class.name, **job.as_json }
end
end
end

View File

@@ -4,7 +4,7 @@ class DelayedJobsControllerTest < ActionDispatch::IntegrationTest
context "The delayed jobs controller" do
setup do
@user = create(:admin_user)
@job = create(:delayed_job)
@job = create(:good_job)
end
context "index action" do
@@ -16,6 +16,7 @@ class DelayedJobsControllerTest < ActionDispatch::IntegrationTest
context "cancel action" do
should "work" do
GoodJob::ActiveJobJob.any_instance.stubs(:status).returns(:queued)
put_auth cancel_delayed_job_path(@job), @user, xhr: true
assert_response :success
end
@@ -23,6 +24,8 @@ class DelayedJobsControllerTest < ActionDispatch::IntegrationTest
context "retry action" do
should "work" do
@job.head_execution.active_job.class.stubs(:queue_adapter).returns(GoodJob::Adapter.new)
GoodJob::ActiveJobJob.any_instance.stubs(:status).returns(:discarded)
put_auth retry_delayed_job_path(@job), @user, xhr: true
assert_response :success
end
@@ -30,6 +33,7 @@ class DelayedJobsControllerTest < ActionDispatch::IntegrationTest
context "run action" do
should "work" do
GoodJob::ActiveJobJob.any_instance.stubs(:status).returns(:queued)
put_auth run_delayed_job_path(@job), @user, xhr: true
assert_response :success
end