【发布时间】:2021-07-14 01:22:52
【问题描述】:
我正在尝试使用 RSpec 和 Capybara 编写功能规范,该规范在两种类型的 session_stores 之间进行更改:cookie_store 和 active_record_store,并且即使我们从 active_record_store 切换到 cookie_store,也希望用户保持登录状态。基本上出于某些原因,我正在从 active_record_store 切换到 cookie_store 并想查看会话是否保持存储而不管配置更改。
这是我的session_store.rb 文件:
# Be sure to restart your server when you modify this file.
Project::Application.config.session_store :cookie_store, :key => '_project_session'
这是我的规格:
describe "Admin logged into" do
it 'shows the correct interface for logged in users' do
# ---> Here use active_record_store:
# Project::Application.config.session_store :active_record_store
log_in_admin(admin)
visit candy_shop_path
expect(page.current_path).to eq(candy_shop_path)
# --> Here switch to cookie_store
# Project::Application.config.session_store :cookie_store, :key => '_project_session'
visit candy_shop_path
expect(page.current_path).to eq(candy_shop_path)
end
end
我需要关于注释掉的部分的帮助。我不确定如何配置 RSpec 以先使用 :active_record_store 然后切换到 :cookie_store。
【问题讨论】:
标签: ruby-on-rails rspec capybara session-cookies