1
0
зеркало из https://github.com/glebtv/telegram-bot.git synced 2026-08-28 15:26:18 +03:00
Этот коммит содержится в:
Max Melentiev
2017-08-11 14:39:07 +03:00
родитель aaba27eb70
Коммит ff7de976d0
2 изменённых файлов: 27 добавлений и 3 удалений

Просмотреть файл

@@ -42,8 +42,8 @@ module Telegram
# Edit message from callback query.
def edit_message(type, params = {})
params =
if query_id = payload['inline_message_id'] # rubocop:disable AssignmentInCondition
params.merge(inline_query_id: query_id)
if message_id = payload['inline_message_id'] # rubocop:disable AssignmentInCondition
params.merge(inline_message_id: message_id)
elsif message = payload['message'] # rubocop:disable AssignmentInCondition
params.merge(chat_id: message['chat']['id'], message_id: message['message_id'])
else

Просмотреть файл

@@ -50,6 +50,30 @@ RSpec.describe Telegram::Bot::UpdatesController do
end
describe '#edit_message' do
skip 'TODO'
subject { controller.edit_message(type, params) }
let(:type) { :reply_markup }
it { expect { subject }.to raise_error(/Can not edit message without/) }
context 'when inline_message_id is present' do
let(:payload) { {inline_message_id: double(:message_id)} }
it 'sets inline_message_id' do
expect(bot).to receive("edit_message_#{type}").with(params.merge(
inline_message_id: payload[:inline_message_id],
)) { result }
should eq result
end
end
context 'when message is present' do
let(:payload) { {message: super().merge(chat: chat)} }
it 'sets chat_id & message_id' do
expect(bot).to receive("edit_message_#{type}").with(params.merge(
message_id: payload[:message][:message_id],
chat_id: payload[:message][:chat]['id'],
)) { result }
should eq result
end
end
end
end