lib/telegram/bot/updates_controller/rspec_helpers.rb in telegram-bot-0.9.0.alpha2 vs lib/telegram/bot/updates_controller/rspec_helpers.rb in telegram-bot-0.9.0
- old
+ new
@@ -12,15 +12,18 @@
let(:payload) { double(:payload) }
let(:bot) { Telegram::Bot::ClientStub.new(bot_name) }
let(:bot_name) { 'bot' }
let(:session) { controller.send(:session) }
+ include Telegram::Bot::RSpec::ClientMatchers
+
def dispatch(bot = self.bot, update = self.update)
controller.dispatch_again(bot, update)
end
- def dispatch_message(text, options = {})
+ def dispatch_message(text, options = nil)
+ options ||= respond_to?(:default_message_options) ? default_message_options : {}
update = build_update :message, options.merge(text: text)
dispatch bot, update
end
def build_update(type, content)
@@ -31,7 +34,12 @@
case input
when Array then input.map(&method(__callee__))
when Hash then input.transform_keys(&:to_s).transform_values(&method(__callee__))
else input
end
+ end
+
+ # Matcher to check response. Make sure to define `let(:chat_id)`.
+ def respond_with_message(expected)
+ send_telegram_message(bot, expected, chat_id: chat_id)
end
end