Files
leadchat/spec/jobs/campaigns/trigger_oneoff_campaign_job_spec.rb
Shivam Mishra 51ad80a61e chore: Add validations to campaign model
- Add validations to campaign model ensuring that the associated inbox belongs to one with in the campaign account.
2025-03-19 17:29:08 -07:00

26 lines
873 B
Ruby

require 'rails_helper'
RSpec.describe Campaigns::TriggerOneoffCampaignJob do
let(:account) { create(:account) }
let!(:twilio_sms) { create(:channel_twilio_sms, account: account) }
let!(:twilio_inbox) { create(:inbox, channel: twilio_sms, account: account) }
let(:label1) { create(:label, account: account) }
let(:label2) { create(:label, account: account) }
let!(:campaign) do
create(:campaign, inbox: twilio_inbox, account: account, audience: [{ type: 'Label', id: label1.id }, { type: 'Label', id: label2.id }])
end
it 'enqueues the job' do
expect { described_class.perform_later(campaign) }.to have_enqueued_job(described_class)
.on_queue('low')
end
context 'when called with a campaign' do
it 'triggers the campaign' do
expect(campaign).to receive(:trigger!)
described_class.perform_now(campaign)
end
end
end