【发布时间】:2015-02-01 10:32:48
【问题描述】:
我在使用 RSpec 和 Devise 时遇到了非常奇怪的问题
describe 'GET edit:/id' do
before do
@job = FactoryGirl.create(:job)
get(:edit, id: @job.id)
end
context 'as not authorized' do
before { logout(:user) }
it 'redirects to login page' do
expect(response).to redirect_to new_user_session_path
end
end
#it '' do end << works if i uncomment this line
context 'as authorized' do
before { login_as(user) }
it 'renders edit tempalte' do
expect(response).to render_template :edit
# Here I get response.status 302. It must be 200, controller thinks that user is not authorized.
# But if add empty 'it' keyword, everything works fine
end
end
end
控制器的前置过滤器
before_filter :authenticate_user!, except: [:index, :show]
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rspec devise bdd