Как использовать RSpecs valid_session?
У меня проблемы с поиском примеров valid_session в RSpec, и теперь все мои скаффолдинговые тесты не работают после добавления авторизации.
Проходя обучение Rails Майкла Хартла, я использую аутентификацию, которая описанаВот, за исключением того, что я требую входа для всех страниц и использования 'skip_before_filter' для входа и т. д.
Я добавил пользовательское приспособление, которое, как я проверял, загружается:
userexample:
id: 1
name: Example Name
email: [email protected]
password_digest: $2aВторой способ работал для меня тоже! +1NuWL8f2X0bXaCof3/caiiOwlF2rago7hH10JECmw1p75kEpf0mkie
remember_token: YXjPrFfsK8SFQOQDEa90ow
Тогда в спецификации контроллера
def valid_session
{ remember_token: "YXjPrFfsK8SFQOQDEa90ow" }
end
Код Session Helper
module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
self.current_user = user
end
def signed_in?
return !current_user.nil?
end
def sign_out
self.current_user = nil
cookies.delete(:remember_token)
end
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
end
Я использую valid_session как задумано? Будет ли работать снабжение Remember_token сессией даже без явного входа пользователя с помощью sign_in? Может ли это быть решено другим способом?