La réponse attendue était une <: redirection>, mais était <401>
-
28-10-2019 - |
Question
J'ai récemment commencé à convertir certaines des requêtes standard que j'ai dans mon application en requêtes XHR (Ajax).Je suis en train de mettre à jour mes tests RSpec pour refléter cela, mais je rencontre ce message d'erreur:
Expected response to be a <:redirect>, but was <401>
Ma spécification ressemble à:
describe "#index" do
subject { xhr :get, :index, params }
it { should redirect_to new_customer_session_path }
end
L'entrée du fichier test.log ressemble à ceci:
(0.2ms) BEGIN
Processing by SocialNetworks::FacebookCommentsController#index as JS
Parameters: {"id"=>"84", "facebook_post_id"=>"17"}
Completed 401 Unauthorized in 21ms
Rendered text template (0.0ms)
(0.2ms) ROLLBACK
Ceux-ci sont dans le contexte d'un utilisateur qui n'est pas connecté (non autorisé).Lorsque je change l'assertion en:
it { response.status.should == 401 }
J'obtiens cette erreur:
Failure/Error: it { response.status.should == 401 }
expected: 401
got: 200 (using ==)
Et des entrées de journal respectives, inutiles ...
(0.1ms) BEGIN
(0.0ms) BEGIN
(0.1ms) ROLLBACK
(0.1ms) ROLLBACK
Je voudrais affirmer qu'un statut non autorisé est donné lorsqu'un statut non autorisé a été donné.Quelqu'un peut-il aider?
La solution
Une réponse d'un ami (@JonRowe) sur Twitter a donné:
@gavinlaking Re: stack overflow, essayez de changer le deuxième test pour inclure un appel au sujet par exemple.
it { subject; response.status.should == 401 }