diff --git a/app/jobs/update_pool_pseudo_tags_job.rb b/app/jobs/update_pool_pseudo_tags_job.rb new file mode 100644 index 000000000..3c827e504 --- /dev/null +++ b/app/jobs/update_pool_pseudo_tags_job.rb @@ -0,0 +1,8 @@ +class UpdatePoolPseudoTagsJob < ApplicationJob + queue_as :default + queue_with_priority 20 + + def perform(pool) + pool.update_category_pseudo_tags_for_posts + end +end diff --git a/app/models/pool.rb b/app/models/pool.rb index 0ec530f48..19595c691 100644 --- a/app/models/pool.rb +++ b/app/models/pool.rb @@ -291,7 +291,7 @@ class Pool < ApplicationRecord def update_category_pseudo_tags_for_posts_async if saved_change_to_category? - delay(:queue => "default").update_category_pseudo_tags_for_posts + UpdatePoolPseudoTagsJob.perform_later(self) end end diff --git a/test/unit/pool_test.rb b/test/unit/pool_test.rb index d2ef787dd..fa1fd8fdc 100644 --- a/test/unit/pool_test.rb +++ b/test/unit/pool_test.rb @@ -267,8 +267,10 @@ class PoolTest < ActiveSupport::TestCase end should "allow Builders to change the category of large pools" do - @builder = FactoryBot.create(:builder_user) - as(@builder) { @pool.update(category: "collection") } + perform_enqueued_jobs do + @builder = create(:builder_user) + as(@builder) { @pool.update(category: "collection") } + end assert_equal(true, @pool.valid?) assert_equal("collection", @pool.category)