mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-02 12:08:01 +00:00
fix: Change the message status to failed if the Twilio message delivery status is undelivered (#8097)
This commit is contained in:
@@ -13,7 +13,7 @@ class Twilio::DeliveryStatusService
|
||||
private
|
||||
|
||||
def process_statuses
|
||||
@message.status = params[:MessageStatus]
|
||||
@message.status = status
|
||||
@message.external_error = external_error if error_occurred?
|
||||
@message.save!
|
||||
end
|
||||
@@ -22,6 +22,10 @@ class Twilio::DeliveryStatusService
|
||||
%w[sent delivered read failed undelivered].include?(params[:MessageStatus])
|
||||
end
|
||||
|
||||
def status
|
||||
params[:MessageStatus] == 'undelivered' ? 'failed' : params[:MessageStatus]
|
||||
end
|
||||
|
||||
def external_error
|
||||
return nil unless error_occurred?
|
||||
|
||||
|
||||
@@ -59,21 +59,24 @@ describe Twilio::DeliveryStatusService do
|
||||
expect(conversation.reload.messages.last.status).to eq('sent')
|
||||
end
|
||||
|
||||
it 'updates message status to failed if message status is failed' do
|
||||
it 'updates message status to failed if message status is undelivered' do
|
||||
params = {
|
||||
SmsSid: 'SMxx',
|
||||
From: '+12345',
|
||||
AccountSid: 'ACxxx',
|
||||
MessagingServiceSid: twilio_channel.messaging_service_sid,
|
||||
MessageSid: conversation.messages.last.source_id,
|
||||
MessageStatus: 'failed'
|
||||
MessageStatus: 'undelivered',
|
||||
ErrorCode: '30002',
|
||||
ErrorMessage: 'Account suspended'
|
||||
}
|
||||
|
||||
described_class.new(params: params).perform
|
||||
expect(conversation.reload.messages.last.status).to eq('failed')
|
||||
expect(conversation.reload.messages.last.external_error).to eq('30002 - Account suspended')
|
||||
end
|
||||
|
||||
it 'updates message status to failed and updates the error message if message status is undelivered' do
|
||||
it 'updates message status to failed and updates the error message if message status is failed' do
|
||||
params = {
|
||||
SmsSid: 'SMxx',
|
||||
From: '+12345',
|
||||
|
||||
Reference in New Issue
Block a user