Mam problemy ze znalezieniem przykładów valid_session w RSpec, a teraz wszystkie moje testy na rusztowaniach są zepsute po dodaniu autoryzacji.Jak korzystać z RSPecs valid_session?
Przechodząc przez Michael Hartl za Rails Tutorial używam uwierzytelniania, która jest opisana here, chyba jestem wymagający logowania dla wszystkich stron i użyć „” dla signin skip_before_filter itp
Dodałem użytkownika Oprawa, które zostały zweryfikowane zostanie załadowany:
userexample:
id: 1
name: Example Name
email: [email protected]
password_digest: $2a$10$NuWL8f2X0bXaCof3/caiiOwlF2rago7hH10JECmw1p75kEpf0mkie
remember_token: YXjPrFfsK8SFQOQDEa90ow
Następnie w specyfikacji kontrolera
def valid_session
{ remember_token: "YXjPrFfsK8SFQOQDEa90ow" }
end
Kodeksu He Session 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
Czy używam valid_session zgodnie z przeznaczeniem? Czy dostarczenie pliku remember_token z sesją będzie działało bez jawnego podpisywania się użytkownika za pomocą sign_in? Czy można to rozwiązać w inny sposób?
Drugi sposób pracował dla mnie też! +1 – leomperes
Używanie Rails4 nie działa dla mnie, ale znalazłem sol'n, pokazany tutaj: https://stackoverflow.com/questions/39881504/rspec-controller-specs-fail-after-adding-authorization-to -rails4-application – MERM