Учитывая следующие Rails 4.2 Контроллер:Ответить с состоянием неавторизованного (401) с Rails 4
class Api::UsersController < ApplicationController
def index
respond_to do |format|
format.html do
flash[:error] = 'Access denied'
redirect_to root_url
end
format.json do
render json: {}, status: :unauthorised
end
end
end
end
Когда с RSpec 3, я пытаюсь вызвать эту index
действие и ожидают иметь статус 401 Я всегда имеет статус 200.
единственный момент, когда я получил 401, чтобы заменить содержимое index
действия с head 401
, но я хотел бы ответить с ошибкой 401, а также создать «хорошее» тело как { error: 401, message: 'Unauthorised' }
.
Почему игнорируется status: :unauthorised
?
Я только что построил быстрое приложение тестирования и ваш спецификации проходит. Вероятно, это будет еще один 'before_filter' или' before_action', как предлагает @shoji. –
У меня такая же проблема с Rails 4.2.0 и Rspec-rails 3.3 – diffeomorphism