diff --git a/app/models/conversation.rb b/app/models/conversation.rb index b175961c1..80b930493 100644 --- a/app/models/conversation.rb +++ b/app/models/conversation.rb @@ -166,11 +166,11 @@ class Conversation < ApplicationRecord end def unread_messages - messages.created_since(agent_last_seen_at) + agent_last_seen_at.present? ? messages.created_since(agent_last_seen_at) : messages end def unread_incoming_messages - messages.incoming.created_since(agent_last_seen_at) + unread_messages.incoming end def push_event_data diff --git a/spec/models/conversation_spec.rb b/spec/models/conversation_spec.rb index db50ebe50..a7bc919b3 100644 --- a/spec/models/conversation_spec.rb +++ b/spec/models/conversation_spec.rb @@ -497,6 +497,12 @@ RSpec.describe Conversation do it 'returns unread incoming messages' do expect(unread_incoming_messages).to contain_exactly(message) end + + it 'returns unread incoming messages even if the agent has not seen the conversation' do + conversation.update!(agent_last_seen_at: nil) + + expect(unread_incoming_messages).to contain_exactly(message) + end end describe '#push_event_data' do