Como usar o RSpecs valid_session?
Estou tendo problemas para encontrar exemplos de valid_session no RSpec e agora todos os meus testes de scaffold foram quebrados após a adição de autorização.
Passando pelo Rails Tutorial de Michael Hartl, estou usando a autenticação descritaAqui, exceto que estou solicitando login para todas as páginas e use 'skip_before_filter' para login etc.
Eu adicionei um dispositivo de usuário, que eu verifiquei é carregado:
userexample:
id: 1
name: Example Name
email: [email protected]
password_digest: $2aO segundo caminho também funcionou para mim! +1NuWL8f2X0bXaCof3/caiiOwlF2rago7hH10JECmw1p75kEpf0mkie
remember_token: YXjPrFfsK8SFQOQDEa90ow
Então na especificação do controlador
def valid_session
{ remember_token: "YXjPrFfsK8SFQOQDEa90ow" }
end
O código do Assistente de Sessão
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
Estou usando valid_session como pretendido? Fornecer um remember_token com a sessão funcionará mesmo sem assinar explicitamente o usuário com sign_in? Isso poderia ser resolvido de alguma outra forma?