diff --git a/app/jobs/export_supporters_failed_job.rb b/app/jobs/export_supporters_failed_job.rb new file mode 100644 index 00000000..3f1a62d9 --- /dev/null +++ b/app/jobs/export_supporters_failed_job.rb @@ -0,0 +1,7 @@ +class ExportSupportersFailedJob < ApplicationJob + queue_as :default + + def perform(export) + ExportMailer.export_supporters_failed_notification(export).deliver_now + end +end diff --git a/lib/export/export_supporters.rb b/lib/export/export_supporters.rb index 211d8324..40b13a08 100644 --- a/lib/export/export_supporters.rb +++ b/lib/export/export_supporters.rb @@ -65,7 +65,7 @@ module ExportSupporters export.exception = e.to_s export.ended = Time.now export.save! - EmailJobQueue.queue(JobTypes::ExportSupportersFailedJob, export) if user + ExportSupportersFailedJob.perform_later(export) if user raise e end raise e diff --git a/lib/job_types/export_supporters_failed_job.rb b/lib/job_types/export_supporters_failed_job.rb deleted file mode 100644 index f8c7cfc9..00000000 --- a/lib/job_types/export_supporters_failed_job.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -module JobTypes - class ExportSupportersFailedJob < EmailJob - attr_reader :export - - def initialize(export) - @export = export - end - - def perform - ExportMailer.export_supporters_failed_notification(@export).deliver - end - end -end diff --git a/spec/lib/export/export_supporters_spec.rb b/spec/lib/export/export_supporters_spec.rb index 95f74f8b..d190e292 100644 --- a/spec/lib/export/export_supporters_spec.rb +++ b/spec/lib/export/export_supporters_spec.rb @@ -150,9 +150,9 @@ describe ExportSupporters do it 'handles exception in upload properly' do Timecop.freeze(2020, 4, 5) do @export = force_create(:export, user: @user) - expect_email_queued.with(JobTypes::ExportSupportersFailedJob, @export) CHUNKED_UPLOADER.raise_error Timecop.freeze(2020, 4, 6) do + expect { expect { ExportSupporters.run_export(@nonprofit.id, {}.to_json, @user.id, @export.id) }.to(raise_error do |error| expect(error).to be_a StandardError expect(error.message).to eq TestChunkedUploader::TEST_ERROR_MESSAGE @@ -163,6 +163,7 @@ describe ExportSupporters do expect(@export.ended).to eq Time.now expect(@export.updated_at).to eq Time.now end) + }.to have_enqueued_job(ExportSupportersFailedJob).with(@export) end end end diff --git a/spec/lib/job_types/export_supporters_failed_job_spec.rb b/spec/lib/job_types/export_supporters_failed_job_spec.rb deleted file mode 100644 index e253794d..00000000 --- a/spec/lib/job_types/export_supporters_failed_job_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper.rb' - -describe JobTypes::ExportSupportersFailedJob do - describe '.perform' do - it 'calls the correct active mailer' do - input = 1 - expect(ExportMailer).to receive(:export_supporters_failed_notification).with(input).and_wrap_original { |_m, *_args| mailer = double('object'); expect(mailer).to receive(:deliver).and_return(nil); mailer } - - job = JobTypes::ExportSupportersFailedJob.new(input) - job.perform - end - end -end