Я использую authlogic и хотел бы проверить удаление контроллера current_user или сеанса user_authentication. В идеале, я бы хотел, чтобы эта спецификация прошла (статус 302 относится к странице входа в систему), отключив сеанс или current_user для контроллера (включая попытки в качестве комментариев):
describe "GET #new" do
it "returns http success" do
get :new
expect(response).to have_http_status(:success)
# session = nil
# binding.pry
# UserSession.find.destroy
UserSession.find.destroy
# @request.session = {}
# controller.session = nil
# @request.session["user_credentials"] = nil
# request.env["rack.session"] = nil
get :new
expect(response).to have_http_status(302)
end
end
и в rspec_helper.rb
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
# Prevent database truncation if the environment is production
abort("The Rails environment is running in production mode!") if Rails.env.production?
require 'spec_helper'
require 'rspec/rails'
require 'authlogic/test_case'
RSpec.configure do |config|
config.include Authlogic::TestCase, type: :controller
config.before(:example, type: "controller") do
activate_authlogic
end