mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-02 12:08:01 +00:00
chore: Move Twilio event processing to background job (#11094)
- Twilio events were being processed synchronously, leading to slow API responses. - This change moves Twilio event processing to a background job to improve performance and align with how other events (e.g., WhatsApp) are handled. --------- Co-authored-by: Pranav <pranav@chatwoot.com>
This commit is contained in:
@@ -2,17 +2,27 @@ require 'rails_helper'
|
||||
|
||||
RSpec.describe 'Twilio::CallbacksController', type: :request do
|
||||
include Rails.application.routes.url_helpers
|
||||
let(:twilio_service) { instance_double(Twilio::IncomingMessageService) }
|
||||
|
||||
before do
|
||||
allow(Twilio::IncomingMessageService).to receive(:new).and_return(twilio_service)
|
||||
allow(twilio_service).to receive(:perform)
|
||||
end
|
||||
describe 'POST /twilio/callback' do
|
||||
let(:params) do
|
||||
{
|
||||
'From' => '+1234567890',
|
||||
'To' => '+0987654321',
|
||||
'Body' => 'Test message',
|
||||
'AccountSid' => 'AC123',
|
||||
'SmsSid' => 'SM123'
|
||||
}
|
||||
end
|
||||
|
||||
describe 'GET /twilio/callback' do
|
||||
it 'calls incoming message service' do
|
||||
post twilio_callback_index_url, params: {}
|
||||
expect(twilio_service).to have_received(:perform)
|
||||
it 'enqueues the Twilio events job' do
|
||||
expect do
|
||||
post twilio_callback_index_url, params: params
|
||||
end.to have_enqueued_job(Webhooks::TwilioEventsJob).with(params)
|
||||
end
|
||||
|
||||
it 'returns no content status' do
|
||||
post twilio_callback_index_url, params: params
|
||||
expect(response).to have_http_status(:no_content)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user