feat: toggle typing and update last seen endpoints for client apis (#7621)
- Add toggle_typing endpoint for client APIs - Adds update last seen endpoint for client APIs Fixes: #7581
This commit is contained in:
@@ -45,4 +45,35 @@ RSpec.describe 'Public Inbox Contact Conversations API', type: :request do
|
||||
expect(data['id']).not_to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
describe 'POST /public/api/v1/inboxes/{identifier}/contact/{source_id}/conversations/{conversation_id}/toggle_typing' do
|
||||
let!(:conversation) { create(:conversation, contact_inbox: contact_inbox, contact: contact) }
|
||||
let(:toggle_typing_path) do
|
||||
"/public/api/v1/inboxes/#{api_channel.identifier}/contacts/#{contact_inbox.source_id}/conversations/#{conversation.display_id}/toggle_typing"
|
||||
end
|
||||
|
||||
it 'dispatches the correct typing status' do
|
||||
allow(Rails.configuration.dispatcher).to receive(:dispatch)
|
||||
post toggle_typing_path, params: { typing_status: 'on' }
|
||||
|
||||
expect(response).to have_http_status(:success)
|
||||
expect(Rails.configuration.dispatcher).to have_received(:dispatch)
|
||||
.with(Conversation::CONVERSATION_TYPING_ON, kind_of(Time), { conversation: conversation, user: contact })
|
||||
end
|
||||
end
|
||||
|
||||
describe 'POST /public/api/v1/inboxes/{identifier}/contact/{source_id}/conversations/{conversation_id}/update_last_seen' do
|
||||
let!(:conversation) { create(:conversation, contact_inbox: contact_inbox, contact: contact) }
|
||||
let(:update_last_seen_path) do
|
||||
"/public/api/v1/inboxes/#{api_channel.identifier}/contacts/#{contact_inbox.source_id}/conversations/#{conversation.display_id}/update_last_seen"
|
||||
end
|
||||
|
||||
it 'updates the last seen of the conversation contact' do
|
||||
contact_last_seen_at = conversation.contact_last_seen_at
|
||||
post update_last_seen_path
|
||||
|
||||
expect(response).to have_http_status(:success)
|
||||
expect(conversation.reload.contact_last_seen_at).not_to eq contact_last_seen_at
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user