Wie verwende ich RSpecs valid_session?
Ich habe Probleme, Beispiele für valid_session in RSpec zu finden, und jetzt sind alle meine Gerüsttests nach dem Hinzufügen der Autorisierung fehlerhaft.
Ich gehe das Rails-Tutorial von Michael Hartl durch und verwende die beschriebene AuthentifizierungHier, außer ich benötige ein Login für alle Seiten und benutze 'skip_before_filter' um mich anzumelden etc.
Ich habe ein User-Fixture hinzugefügt, von dem ich verifiziert habe, dass es geladen wird:
userexample:
id: 1
name: Example Name
email: [email protected]
password_digest: $2aDer zweite Weg hat auch für mich funktioniert! +1NuWL8f2X0bXaCof3/caiiOwlF2rago7hH10JECmw1p75kEpf0mkie
remember_token: YXjPrFfsK8SFQOQDEa90ow
Dann in der Controller-Spezifikation
def valid_session
{ remember_token: "YXjPrFfsK8SFQOQDEa90ow" }
end
Der Code des Sitzungshilfsprogramms
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
Verwende ich valid_session wie beabsichtigt? Funktioniert es überhaupt, ein remember_token mit der Sitzung zu versorgen, ohne den Benutzer explizit mit sign_in anzumelden? Könnte dies auf andere Weise gelöst werden?