From 8c67ea56e7def6ffd18ffc17530258272b36d1e9 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Wed, 25 Oct 2023 13:03:08 -0700 Subject: [PATCH] chore: Campaign conversations should be created in open state (#8209) - Ensure that conversations originating from campaigns are created in the open state. --- app/models/conversation.rb | 4 ++++ spec/models/conversation_spec.rb | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/app/models/conversation.rb b/app/models/conversation.rb index d764f84a0625..88a837c266e0 100644 --- a/app/models/conversation.rb +++ b/app/models/conversation.rb @@ -226,6 +226,10 @@ def validate_additional_attributes end def mark_conversation_pending_if_bot + # Message template hooks aren't executed for conversations from campaigns + # So making these conversations open for agent visibility + return if campaign.present? + # TODO: make this an inbox config instead of assuming bot conversations should start as pending self.status = :pending if inbox.active_bot? end diff --git a/spec/models/conversation_spec.rb b/spec/models/conversation_spec.rb index 70d33b71c289..0a04cd73b20f 100644 --- a/spec/models/conversation_spec.rb +++ b/spec/models/conversation_spec.rb @@ -556,6 +556,11 @@ it 'returns conversation status as pending' do expect(conversation.status).to eq('pending') end + + it 'returns conversation as open if campaign is present' do + conversation = create(:conversation, inbox: bot_inbox.inbox, campaign: create(:campaign)) + expect(conversation.status).to eq('open') + end end describe '#botintegration: when conversation created in inbox with dialogflow integration' do