Ожидаемый ответ: <: redirect>, но был <401> - PullRequest
1 голос
/ 21 февраля 2012

Я недавно начал преобразовывать некоторые стандартные запросы, которые у меня есть в приложении, в запросы XHR (Ajax).Я нахожусь в процессе обновления моих тестов RSpec, чтобы отразить это, но сталкиваюсь с этим сообщением об ошибке:

Expected response to be a <:redirect>, but was <401>

Моя спецификация выглядит следующим образом:

describe "#index" do
  subject { xhr :get, :index, params }
  it { should redirect_to new_customer_session_path }
end

Запись файла test.logвыглядит следующим образом:

(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

Это в контексте пользователя, который не вошел в систему (не авторизован).Когда я изменяю утверждение на:

it { response.status.should == 401 }

, я получаю эту ошибку:

Failure/Error: it { response.status.should == 401 }
    expected: 401
         got: 200 (using ==)

И соответствующие, бесполезные записи журнала ...

(0.1ms) BEGIN
(0.0ms) BEGIN
(0.1ms) ROLLBACK
(0.1ms) ROLLBACK

Iхотел бы заявить, что несанкционированный статус присваивается, когда дан несанкционированный статус.Кто-нибудь может помочь?

1 Ответ

1 голос
/ 21 февраля 2012

Ответ от друга (@JonRowe) в Твиттере дал:

@ gavinlaking Re: переполнение стека, попробуйте изменить второй тест, включив в него вызов субъекта, например.

it { subject; response.status.should == 401 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...