2019-10-12 18:08:41 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
RSpec.describe Conversations::EventDataPresenter do
|
|
|
|
let(:presenter) { described_class.new(conversation) }
|
2019-12-24 07:57:25 +00:00
|
|
|
let(:conversation) { create(:conversation) }
|
2019-10-12 18:08:41 +00:00
|
|
|
|
|
|
|
describe '#push_data' do
|
|
|
|
let(:expected_data) do
|
|
|
|
{
|
2020-10-27 20:44:36 +00:00
|
|
|
additional_attributes: {},
|
2019-10-12 18:08:41 +00:00
|
|
|
meta: {
|
2019-10-20 19:10:18 +00:00
|
|
|
sender: conversation.contact.push_event_data,
|
2021-11-22 18:02:17 +00:00
|
|
|
assignee: conversation.assignee,
|
2022-08-12 08:10:28 +00:00
|
|
|
team: conversation.team,
|
2021-11-22 18:02:17 +00:00
|
|
|
hmac_verified: conversation.contact_inbox.hmac_verified
|
2019-10-12 18:08:41 +00:00
|
|
|
},
|
|
|
|
id: conversation.display_id,
|
|
|
|
messages: [],
|
2022-10-21 23:12:35 +00:00
|
|
|
labels: [],
|
2022-11-10 05:23:29 +00:00
|
|
|
inbox_id: conversation.inbox_id,
|
2020-02-26 15:45:01 +00:00
|
|
|
status: conversation.status,
|
2021-02-08 07:20:11 +00:00
|
|
|
contact_inbox: conversation.contact_inbox,
|
2020-07-25 17:24:45 +00:00
|
|
|
can_reply: conversation.can_reply?,
|
2020-07-04 14:16:17 +00:00
|
|
|
channel: conversation.inbox.channel_type,
|
2020-10-05 17:22:43 +00:00
|
|
|
timestamp: conversation.last_activity_at.to_i,
|
2021-09-29 14:03:51 +00:00
|
|
|
snoozed_until: conversation.snoozed_until,
|
2022-02-03 04:35:56 +00:00
|
|
|
custom_attributes: conversation.custom_attributes,
|
2022-11-29 16:18:00 +00:00
|
|
|
first_reply_created_at: nil,
|
2020-09-10 13:49:15 +00:00
|
|
|
contact_last_seen_at: conversation.contact_last_seen_at.to_i,
|
2019-10-12 18:08:41 +00:00
|
|
|
agent_last_seen_at: conversation.agent_last_seen_at.to_i,
|
|
|
|
unread_count: 0
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'returns push event payload' do
|
|
|
|
expect(presenter.push_data).to eq(expected_data)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|