В документации по разработке они дают советы о том, как вы можете иметь доступ к current_user при тестировании контроллера:
Однако, что делать при тестировании функций? Я пытаюсь проверить метод создания одного из моих контроллеров, и в этом контроллере используется переменная current_user.
Проблема заключается в том, что макрос, предлагаемый в разработке, использует переменную @request, и она равна нулю для спецификации спецификации. Что такое обходной путь?
EDIT:
Это то, что у меня есть для моей текущей спецификации:
feature 'As a user I manage the orders of the system' do
scenario 'User is logged in ad an admin' do
user = create(:user)
order = create(:order, user: user)
visit orders_path
#Expectations
end
end
Проблема в том, что в моем OrdersController
у меня есть вызов current_user.orders
, а поскольку current_user
не определен, он перенаправляет меня на /users/sign_in
.
Я определил это под /spec/features/manage_orders.rb