Files
chatwoot/spec/jobs/webhook_job_spec.rb

32 lines
902 B
Ruby

require 'rails_helper'
RSpec.describe WebhookJob do
include ActiveJob::TestHelper
subject(:job) { described_class.perform_later(url, payload, webhook_type) }
let(:url) { 'https://test.chatwoot.com' }
let(:payload) { { name: 'test' } }
let(:webhook_type) { :account_webhook }
it 'queues the job' do
expect { job }.to have_enqueued_job(described_class)
.with(url, payload, webhook_type)
.on_queue('medium')
end
it 'executes perform with default webhook type' do
expect(Webhooks::Trigger).to receive(:execute).with(url, payload, webhook_type)
perform_enqueued_jobs { job }
end
context 'with custom webhook type' do
let(:webhook_type) { :api_inbox_webhook }
it 'executes perform with inbox webhook type' do
expect(Webhooks::Trigger).to receive(:execute).with(url, payload, webhook_type)
perform_enqueued_jobs { job }
end
end
end