Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
26
research/chatwoot/spec/enterprise/models/message_spec.rb
Normal file
26
research/chatwoot/spec/enterprise/models/message_spec.rb
Normal file
@@ -0,0 +1,26 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Message do
|
||||
let!(:conversation) { create(:conversation) }
|
||||
|
||||
it 'updates first reply if the message is human and even if there are messages from captain' do
|
||||
captain_assistant = create(:captain_assistant, account: conversation.account)
|
||||
expect(conversation.first_reply_created_at).to be_nil
|
||||
|
||||
## There is a difference on how the time is stored in the database and how it is retrieved
|
||||
# This is because of the precision of the time stored in the database
|
||||
# In the test, we will check whether the time is within the range
|
||||
expect(conversation.waiting_since).to be_within(0.000001.seconds).of(conversation.created_at)
|
||||
|
||||
create(:message, message_type: :outgoing, conversation: conversation, sender: captain_assistant)
|
||||
|
||||
# Captain::Assistant responses clear waiting_since (like AgentBot)
|
||||
expect(conversation.first_reply_created_at).to be_nil
|
||||
expect(conversation.waiting_since).to be_nil
|
||||
|
||||
create(:message, message_type: :outgoing, conversation: conversation)
|
||||
|
||||
expect(conversation.first_reply_created_at).not_to be_nil
|
||||
expect(conversation.waiting_since).to be_nil
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user