1
0
зеркало из 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.
Этот коммит содержится в:
Max Melentiev
2017-10-06 11:07:11 +03:00
родитель ef4f3caa5f
Коммит e529a79339
4 изменённых файлов: 25 добавлений и 1 удалений

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

@@ -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