Add SupportersExportCreateJob

This commit is contained in:
Eric Schultz 2019-11-07 17:28:36 -06:00
parent 1422b5907e
commit cfa5fb8b0f
3 changed files with 12 additions and 10 deletions

View file

@ -0,0 +1,7 @@
class SupportersExportCreateJob < ApplicationJob
queue_as :default
def perform(*args)
ExportSupporters.run_export(*args)
end
end

View file

@ -18,7 +18,7 @@ module ExportSupporters
e = Export.create(nonprofit: npo, user: user, status: :queued, export_type: 'ExportSupporters', parameters: params.to_json) e = Export.create(nonprofit: npo, user: user, status: :queued, export_type: 'ExportSupporters', parameters: params.to_json)
DelayedJobHelper.enqueue_job(ExportSupporters, :run_export, [npo_id, params.to_json, user_id, e.id]) SupportersExportCreateJob.perform_later(npo_id, params.to_json, user_id, e.id)
end end
def self.run_export(npo_id, params, user_id, export_id) def self.run_export(npo_id, params, user_id, export_id)

View file

@ -48,17 +48,12 @@ describe ExportSupporters do
end end
it 'creates an export object and schedules job' do it 'creates an export object and schedules job' do
Timecop.freeze(2020, 4, 5) do Timecop.freeze(2020, 4, 5) do
DelayedJobHelper = double('delayed')
params = { param1: 'pp', root_url: 'https://localhost:8080' }.with_indifferent_access params = { param1: 'pp', root_url: 'https://localhost:8080' }.with_indifferent_access
expect(Export).to receive(:create).and_wrap_original { |m, *args| expect {
e = m.call(*args) # get original create ExportSupporters.initiate_export(@nonprofit.id, params, @user.id)
expect(DelayedJobHelper).to receive(:enqueue_job).with(ExportSupporters, :run_export, [@nonprofit.id, params.to_json, @user.id, e.id]) # add the enqueue }.to have_enqueued_job(SupportersExportCreateJob)
e
}
ExportSupporters.initiate_export(@nonprofit.id, params, @user.id)
export = Export.first export = Export.first
expected_export = { id: export.id, expected_export = { id: export.id,
user_id: @user.id, user_id: @user.id,