Move HtmlVariantSuccess.create delay calls to ActiveJob (#3173)

- add AJ job + job spec
  - refactor call
This commit is contained in:
cyrillefr 2019-06-19 03:36:33 +02:00 committed by Ben Halpern
parent a3e246a327
commit c413cf8235
4 changed files with 15 additions and 2 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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