私は最近XHR(Ajax)要求に私のアプリケーションで持っているいくつかの標準要求の変換を開始しました。私はこれを反映する私のRSpecのテストを更新中だが、このエラーメッセージに遭遇しています:期待される応答は<:redirect>でしたが、<401>
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
私がいることを主張したいと思います権限のない状態が与えられたときには、権限のない状態が与えられる。誰も助けることができますか?
私は1つの実行からステータスコードが401で、次回の実行が200であることを驚いている - あなたは他に何も変化しないことを確認していますか?これらのケースのサーバー応答を表示するために、どのようなログが利用できますか? – sarnold
私の質問が、ログの役に立たない内容を含むように更新されました。私はステータスコードの変更に困惑していました。私は200になると主張することができますが、私は本当に401を捕まえたいと思っていました。実際にはUnauthorizedと応答することになっているからです。 – Gav