fix: Wrap references string into array (#7243)
This commit is contained in:
@@ -54,7 +54,7 @@ class Imap::ImapMailbox
|
|||||||
|
|
||||||
return if @inbound_mail.references.blank?
|
return if @inbound_mail.references.blank?
|
||||||
|
|
||||||
references = @inbound_mail.references
|
references = Array.wrap(@inbound_mail.references)
|
||||||
|
|
||||||
references.each do |message_id|
|
references.each do |message_id|
|
||||||
message = @inbox.messages.find_by(source_id: message_id)
|
message = @inbox.messages.find_by(source_id: message_id)
|
||||||
|
|||||||
@@ -111,6 +111,29 @@ RSpec.describe Imap::ImapMailbox do
|
|||||||
expect(conversation.messages.last.content).to eq('References Email')
|
expect(conversation.messages.last.content).to eq('References Email')
|
||||||
expect(references_email.mail.references).to include('test-reference-id')
|
expect(references_email.mail.references).to include('test-reference-id')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'append email to conversation with reference id string' do
|
||||||
|
inbox = Inbox.last
|
||||||
|
message = create(
|
||||||
|
:message,
|
||||||
|
content: 'Incoming Message',
|
||||||
|
message_type: 'incoming',
|
||||||
|
inbox: inbox,
|
||||||
|
source_id: 'test-reference-id-2',
|
||||||
|
account: account,
|
||||||
|
conversation: conversation
|
||||||
|
)
|
||||||
|
conversation = message.conversation
|
||||||
|
|
||||||
|
expect(conversation.messages.size).to eq(1)
|
||||||
|
|
||||||
|
references_email.mail.references = 'test-reference-id-2'
|
||||||
|
class_instance.process(references_email.mail, inbox.channel)
|
||||||
|
|
||||||
|
expect(conversation.messages.size).to eq(2)
|
||||||
|
expect(conversation.messages.last.content).to eq('References Email')
|
||||||
|
expect(references_email.mail.references).to include('test-reference-id-2')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user