Non riesco a trovare esempi di valid_session in RSpec e ora tutti i miei test scaffolded vengono interrotti dopo aver aggiunto l'autorizzazione.Come utilizzare RS_sec valid_session?
Passando attraverso Rails Tutorial di Michael Hartl, sto utilizzando l'autenticazione che viene descritto here, tranne che sto richiedendo login per tutte le pagine e l'uso 'skip_before_filter' per signin ecc
ho aggiunto un utente apparecchio, che ho verificato viene caricato:
userexample:
id: 1
name: Example Name
email: [email protected]
password_digest: $2a$10$NuWL8f2X0bXaCof3/caiiOwlF2rago7hH10JECmw1p75kEpf0mkie
remember_token: YXjPrFfsK8SFQOQDEa90ow
Poi nel controller spec
def valid_session
{ remember_token: "YXjPrFfsK8SFQOQDEa90ow" }
end
il codice della sessione Lui lper
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
Sto usando valid_session come previsto? Fornire un remember_token alla sessione funziona anche senza l'accesso esplicito all'utente con sign_in? Questo potrebbe essere risolto in qualche altro modo?
Secondo modo ha lavorato anche per me! +1 – leomperes
Utilizzando Rails4 questo non ha funzionato per me, ma ho trovato un sol'n, mostrato qui: https://stackoverflow.com/questions/39881504/rspec-controller-specs-fail-after-adding-authorization-to -rails4 applicazione – MERM