1d9debaee0
- feature to store contact IP for accounts - IP lookup through geocoder gem - ability to do IP lookup through external APIs - add commit hook to prevent push to develop and master - migrations to fix default values for jsonb columns
38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
RSpec.describe Conversations::EventDataPresenter do
|
|
let(:presenter) { described_class.new(conversation) }
|
|
let(:conversation) { create(:conversation) }
|
|
|
|
describe '#lock_data' do
|
|
it { expect(presenter.lock_data).to eq(id: conversation.display_id, locked: false) }
|
|
end
|
|
|
|
describe '#push_data' do
|
|
let(:expected_data) do
|
|
{
|
|
additional_attributes: {},
|
|
meta: {
|
|
sender: conversation.contact.push_event_data,
|
|
assignee: conversation.assignee
|
|
},
|
|
id: conversation.display_id,
|
|
messages: [],
|
|
inbox_id: conversation.inbox_id,
|
|
status: conversation.status,
|
|
can_reply: conversation.can_reply?,
|
|
channel: conversation.inbox.channel_type,
|
|
timestamp: conversation.last_activity_at.to_i,
|
|
contact_last_seen_at: conversation.contact_last_seen_at.to_i,
|
|
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
|