chore: Automate conversation display_id generation with db triggers (#1412)
Automate conversation display_id generation with db triggers Co-authored-by: Saurabh Mehta <saurabh1.mehta@airtel.com> Co-authored-by: Sojan Jose <sojan@pepalo.com>
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
FactoryBot.define do
|
||||
factory :conversation do
|
||||
status { 'open' }
|
||||
display_id { rand(10_000_000) }
|
||||
agent_last_seen_at { Time.current }
|
||||
locked { false }
|
||||
identifier { SecureRandom.hex }
|
||||
|
||||
@@ -109,8 +109,8 @@ RSpec.describe Conversation, type: :model do
|
||||
end
|
||||
|
||||
it 'adds a message for system auto resolution if marked resolved by system' do
|
||||
conversation2 = create(:conversation, status: 'open', account: account, assignee: old_assignee)
|
||||
account.update(auto_resolve_duration: 40)
|
||||
conversation2 = create(:conversation, status: 'open', account: account, assignee: old_assignee)
|
||||
Current.user = nil
|
||||
conversation2.update(status: :resolved)
|
||||
system_resolved_message = "Conversation was marked resolved by system due to #{account.auto_resolve_duration} days of inactivity"
|
||||
@@ -124,7 +124,7 @@ RSpec.describe Conversation, type: :model do
|
||||
|
||||
it 'does trigger AutoResolutionJob if conversation reopened and account has auto resolve duration' do
|
||||
account.update(auto_resolve_duration: 40)
|
||||
expect { conversation.update(status: :open) }
|
||||
expect { conversation.reload.update(status: :open) }
|
||||
.to have_enqueued_job(AutoResolveConversationsJob).with(conversation.id)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -13,6 +13,7 @@ RSpec.describe Message, type: :model do
|
||||
let(:message) { build(:message, account: create(:account)) }
|
||||
|
||||
it 'updates conversation last_activity_at when created' do
|
||||
message.save!
|
||||
expect(message.created_at).to eq message.conversation.last_activity_at
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user