chore: Fix issue with deleting interactive messages (#10123)
- fix issue with deleting interactive messages
This commit is contained in:
@@ -13,7 +13,7 @@ class Api::V1::Accounts::Conversations::MessagesController < Api::V1::Accounts::
|
|||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
message.update!(content: I18n.t('conversations.messages.deleted'), content_attributes: { deleted: true })
|
message.update!(content: I18n.t('conversations.messages.deleted'), content_type: :text, content_attributes: { deleted: true })
|
||||||
message.attachments.destroy_all
|
message.attachments.destroy_all
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -216,6 +216,21 @@ RSpec.describe 'Conversation Messages API', type: :request do
|
|||||||
expect(message.reload.deleted).to be true
|
expect(message.reload.deleted).to be true
|
||||||
expect(message.reload.content_attributes['bcc_emails']).to be_nil
|
expect(message.reload.content_attributes['bcc_emails']).to be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'deletes interactive messages' do
|
||||||
|
interactive_message = create(
|
||||||
|
:message, message_type: :outgoing, content: 'test', content_type: 'input_select',
|
||||||
|
content_attributes: { 'items' => [{ 'title' => 'test', 'value' => 'test' }] },
|
||||||
|
conversation: conversation
|
||||||
|
)
|
||||||
|
|
||||||
|
delete "/api/v1/accounts/#{account.id}/conversations/#{conversation.display_id}/messages/#{interactive_message.id}",
|
||||||
|
headers: agent.create_new_auth_token,
|
||||||
|
as: :json
|
||||||
|
|
||||||
|
expect(response).to have_http_status(:success)
|
||||||
|
expect(interactive_message.reload.deleted).to be true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when the message id is invalid' do
|
context 'when the message id is invalid' do
|
||||||
|
|||||||
Reference in New Issue
Block a user