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