1
0
зеркало из https://github.com/glebtv/telegram-bot.git synced 2026-09-03 17:55:52 +03:00

Fix storing token in ClientStub when config hash is given

Этот коммит содержится в:
Max Melentiev
2017-05-17 17:45:21 +06:00
родитель b8db576452
Коммит 6e4a69b6b1
4 изменённых файлов: 25 добавлений и 11 удалений

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

@@ -35,7 +35,7 @@ module Telegram
end
def initialize(token = nil, username = nil, **options)
@token = token
@token = token || options[:token]
@username = username || options[:username] || token
reset
end

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

@@ -0,0 +1,9 @@
require 'integration_helper'
RSpec.describe NamedBotController, :telegram_bot, type: :request do
let(:bot) { Telegram.bots[:named] }
describe '#start' do
subject { -> { dispatch_command :start } }
it { should respond_with_message 'from named' }
end
end

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

@@ -18,22 +18,20 @@ class TestApplication < Rails::Application
bot: 'default_token',
bots: {
other: {token: 'other_token'},
named: {token: 'named_token', username: 'TestBot'},
},
}
end
Rails.application.initialize!
# # Controllers
class DefaultBotController < Telegram::Bot::UpdatesController
def start(*)
respond_with :message, text: 'from default'
end
end
class OtherBotController < Telegram::Bot::UpdatesController
def start(*)
respond_with :message, text: 'from other'
%w(default other named).each do |bot_name|
controller = Class.new(Telegram::Bot::UpdatesController) do
define_method :start do |*|
respond_with :message, text: "from #{bot_name}"
end
end
Object.const_set("#{bot_name}_bot_controller".camelize, controller)
end
RSpec.configure do |config|
@@ -57,7 +55,8 @@ RSpec.configure do |config|
extend Telegram::Bot::RoutesHelper
telegram_webhooks default: DefaultBotController,
other: OtherBotController
other: OtherBotController,
named: NamedBotController
end
end
end

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

@@ -49,5 +49,11 @@ RSpec.describe Telegram::Bot::ClientStub do
its(:token) { should eq args[0] }
its(:username) { should eq args[1] }
end
context 'when hash config is given' do
let(:args) { [token: 'token', username: 'superbot'] }
its(:token) { should eq args[0][:token] }
its(:username) { should eq args[0][:username] }
end
end
end