feat: Update conversation attributes in realtime when they changed (#5542)

Co-authored-by: daniel gannage <daniel@pxdel.com>
Co-authored-by: Tejaswini Chile <tejaswini@chatwoot.com>
This commit is contained in:
DanielGannage
2022-10-19 20:26:10 -04:00
committed by GitHub
parent 10d86fbb35
commit a3277b45af
3 changed files with 29 additions and 0 deletions

View File

@@ -128,4 +128,20 @@ describe ActionCableListener do
listener.contact_deleted(event)
end
end
describe '#conversation_updated' do
let(:event_name) { :'conversation.updated' }
let!(:event) { Events::Base.new(event_name, Time.zone.now, conversation: conversation, user: agent, is_private: false) }
it 'sends update to inbox members' do
expect(conversation.inbox.reload.inbox_members.count).to eq(1)
expect(ActionCableBroadcastJob).to receive(:perform_later).with(
[agent.pubsub_token, admin.pubsub_token, conversation.contact_inbox.pubsub_token],
'conversation.updated',
conversation.push_event_data.merge(account_id: account.id)
)
listener.conversation_updated(event)
end
end
end