Merge branch 'develop' into feat/linear-backend

This commit is contained in:
Muhsin Keloth
2024-05-13 22:06:57 +05:30
committed by GitHub
5 changed files with 25 additions and 6 deletions
+14 -2
View File
@@ -9,8 +9,6 @@ describe ParticipationListener do
before do
create(:inbox_member, inbox: inbox, user: agent)
Current.user = nil
Current.account = nil
end
describe '#assignee_changed' do
@@ -22,5 +20,19 @@ describe ParticipationListener do
listener.assignee_changed(event)
expect(conversation.conversation_participants.map(&:user_id)).to include(agent.id)
end
it 'does not fail if the conversation participant already exists' do
conversation.conversation_participants.create!(user: agent)
expect { listener.assignee_changed(event) }.not_to raise_error
end
it 'logs a debug message if participant save fails due to a race condition' do
allow(Rails.logger).to receive(:warn)
allow(conversation).to receive(:conversation_participants).and_return(double)
allow(conversation.conversation_participants).to receive(:find_or_create_by!).and_raise(ActiveRecord::RecordNotUnique)
expect { listener.assignee_changed(event) }.not_to raise_error
expect(Rails.logger).to have_received(:warn).with('Failed to create conversation participant for account ' \
"#{account.id} : user #{agent.id} : conversation #{conversation.id}")
end
end
end
+1 -1
View File
@@ -156,7 +156,7 @@ RSpec.describe Conversation do
changed_attributes: nil, performed_by: nil)
expect(Rails.configuration.dispatcher).to have_received(:dispatch)
.with(described_class::ASSIGNEE_CHANGED, kind_of(Time), conversation: conversation, notifiable_assignee_change: true,
changed_attributes: nil, performed_by: nil)
changed_attributes: changed_attributes, performed_by: nil)
expect(Rails.configuration.dispatcher).to have_received(:dispatch)
.with(described_class::CONVERSATION_UPDATED, kind_of(Time), conversation: conversation, notifiable_assignee_change: true,
changed_attributes: changed_attributes, performed_by: nil)