Add SupporterFundraiserCreateJob

This commit is contained in:
Eric Schultz 2019-11-07 13:40:17 -06:00
parent 00e9cb972d
commit b2aaf30a14
7 changed files with 9 additions and 39 deletions

View file

@ -0,0 +1,7 @@
class SupporterFundraiserCreateJob < ApplicationJob
queue_as :default
def perform(fundraiser)
NonprofitAdminMailer.supporter_fundraiser(fundraiser).deliver_now
end
end

View file

@ -105,7 +105,7 @@ class Campaign < ApplicationRecord
CampaignMailer.delay.creation_followup(self)
end
NonprofitAdminMailer.delay.supporter_fundraiser(self) unless QueryRoles.is_nonprofit_user?(user.id, nonprofit_id)
SupporterFundraiserCreateJob.perform_later(self) unless QueryRoles.is_nonprofit_user?(user.id, nonprofit_id)
self
end

View file

@ -17,7 +17,7 @@ module CreateCampaign
user = campaign.profile.user
Role.create(name: :campaign_editor, user_id: user.id, host: self)
CampaignMailer.delay.creation_followup(self)
NonprofitAdminMailer.delay.supporter_fundraiser(self) unless QueryRoles.is_nonprofit_user?(user.id, nonprofit_id)
SupporterFundraiserCreateJob.perform_later(self) unless QueryRoles.is_nonprofit_user?(user.id, nonprofit_id)
return { errors: campaign.errors.messages }.as_json unless campaign.errors.empty?

View file

@ -1,16 +0,0 @@
# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
module JobTypes
class NonprofitAdminSupporterFundraiserJob < EmailJob
attr_reader :event_or_campaign
def initialize(event_or_campaign)
@event_or_campaign = event_or_campaign
end
def perform
NonprofitAdminMailer.supporter_fundraiser(@event_or_campaign).deliver
end
end
end

View file

@ -9,10 +9,7 @@ describe CreateCampaignGift do
# #stub out the mailing stuff used by campaign creation
cm = double(CampaignMailer)
allow(cm).to receive(:creation_followup)
nam = double(NonprofitAdminMailer)
allow(nam).to receive(:supporter_fundraiser)
allow(CampaignMailer).to receive(:delay).and_return(cm)
allow(NonprofitAdminMailer).to receive(:delay).and_return(nam)
end
describe 'param validation' do
let (:donation) { force_create(:donation) }

View file

@ -8,10 +8,7 @@ describe DeleteCampaignGiftOption do
# #stub out the mailing stuff used by campaign creation
cm = double(CampaignMailer)
allow(cm).to receive(:creation_followup)
nam = double(NonprofitAdminMailer)
allow(nam).to receive(:supporter_fundraiser)
allow(CampaignMailer).to receive(:delay).and_return(cm)
allow(NonprofitAdminMailer).to receive(:delay).and_return(nam)
end
describe '.delete' do
let(:profile) { force_create(:profile, user: force_create(:user)) }

View file

@ -1,15 +0,0 @@
# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
require 'rails_helper.rb'
describe JobTypes::NonprofitAdminSupporterFundraiserJob do
describe '.perform' do
it 'calls the correct active mailer' do
expect(NonprofitAdminMailer).to receive(:supporter_fundraiser).with(1).and_wrap_original { |_m, *_args| mailer = double('object'); expect(mailer).to receive(:deliver).and_return(nil); mailer }
job = JobTypes::NonprofitAdminSupporterFundraiserJob.new(1)
job.perform
end
end
end