diff --git a/app/controllers/html_variant_successes_controller.rb b/app/controllers/html_variant_successes_controller.rb
index 38b267b39..b6500c2c5 100644
--- a/app/controllers/html_variant_successes_controller.rb
+++ b/app/controllers/html_variant_successes_controller.rb
@@ -1,6 +1,6 @@
class HtmlVariantSuccessesController < ApplicationController
def create
- HtmlVariantSuccess.delay.create(html_variant_id: params[:html_variant_id], article_id: params[:article_id])
+ HtmlVariantSuccessCreateJob.perform_later(html_variant_id: params[:html_variant_id], article_id: params[:article_id])
head :ok
end
end
diff --git a/app/jobs/html_variant_success_create_job.rb b/app/jobs/html_variant_success_create_job.rb
new file mode 100644
index 000000000..d0b793817
--- /dev/null
+++ b/app/jobs/html_variant_success_create_job.rb
@@ -0,0 +1,7 @@
+class HtmlVariantSuccessCreateJob < ApplicationJob
+ queue_as :html_variant_success_create
+
+ def perform(html_variant_id:, article_id:)
+ HtmlVariantSuccess.create(html_variant_id: html_variant_id, article_id: article_id)
+ end
+end
diff --git a/spec/jobs/html_variant_success_create_job_spec.rb b/spec/jobs/html_variant_success_create_job_spec.rb
new file mode 100644
index 000000000..81893abb5
--- /dev/null
+++ b/spec/jobs/html_variant_success_create_job_spec.rb
@@ -0,0 +1,6 @@
+require "rails_helper"
+require "jobs/shared_examples/enqueues_job"
+
+RSpec.describe HtmlVariantSuccessCreateJob, type: :job do
+ include_examples "#enqueues_job", "html_variant_success_create", [{ html_variant_id: 789, article_id: 456 }]
+end
diff --git a/spec/requests/html_variant_successes_spec.rb b/spec/requests/html_variant_successes_spec.rb
index 12ca9db11..21418c3d5 100644
--- a/spec/requests/html_variant_successes_spec.rb
+++ b/spec/requests/html_variant_successes_spec.rb
@@ -7,7 +7,7 @@ RSpec.describe "HtmlVariantSuccesses", type: :request do
describe "POST /html_variant_successes" do
it "rejects non-permissioned user" do
- run_background_jobs_immediately do
+ perform_enqueued_jobs do
post "/html_variant_successes", params: {
article_id: article.id,
html_variant_id: html_variant.id