зеркало из
https://github.com/glebtv/telegram-bot.git
synced 2026-08-28 15:26:18 +03:00
Don't use Rails.cache as fallback for session_store
It's NullStore in development by default so session does not work, and indeed should not be dependent.
Этот коммит содержится в:
@@ -18,7 +18,7 @@ module Telegram
|
||||
|
||||
ActiveSupport.on_load('telegram.bot.updates_controller') do
|
||||
self.logger = options.logger || Rails.logger
|
||||
self.session_store = options.session_store || Rails.cache
|
||||
self.session_store = options.session_store if options.session_store
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -5,4 +5,9 @@ RSpec.describe DefaultBotController, :telegram_bot, type: :request do
|
||||
subject { -> { dispatch_command :start } }
|
||||
it { should respond_with_message 'from default' }
|
||||
end
|
||||
|
||||
describe '#load_session' do
|
||||
subject { -> { dispatch_command :load_session } }
|
||||
it { should_not raise_error }
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,4 +6,9 @@ RSpec.describe OtherBotController, :telegram_bot, type: :request do
|
||||
subject { -> { dispatch_command :start } }
|
||||
it { should respond_with_message 'from other' }
|
||||
end
|
||||
|
||||
describe '#load_session' do
|
||||
subject { -> { dispatch_command :load_session } }
|
||||
it { should raise_error(/session_store is not configured/) }
|
||||
end
|
||||
end
|
||||
|
||||
@@ -4,6 +4,7 @@ require 'action_dispatch'
|
||||
require 'action_dispatch/testing/integration'
|
||||
|
||||
require 'rails'
|
||||
require 'telegram/bot/railtie'
|
||||
require 'rspec/rails/adapters'
|
||||
require 'rspec/rails/fixture_support'
|
||||
require 'rspec/rails/example/rails_example_group'
|
||||
@@ -13,6 +14,7 @@ ENV['RAILS_ENV'] = 'test'
|
||||
class TestApplication < Rails::Application
|
||||
config.eager_load = false
|
||||
config.log_level = :debug
|
||||
config.action_dispatch.show_exceptions = false
|
||||
secrets[:secret_key_base] = 'test'
|
||||
secrets[:telegram] = {
|
||||
bot: 'default_token',
|
||||
@@ -34,6 +36,18 @@ Rails.application.initialize!
|
||||
Object.const_set("#{bot_name}_bot_controller".camelize, controller)
|
||||
end
|
||||
|
||||
[DefaultBotController, OtherBotController].each do |klass|
|
||||
klass.class_eval do
|
||||
use_session!
|
||||
|
||||
define_method :load_session do |*|
|
||||
session[:test]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
DefaultBotController.session_store = :memory_store
|
||||
|
||||
RSpec.configure do |config|
|
||||
config.include RSpec::Rails::RequestExampleGroup, type: :request
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user