Как правильно войти в систему как пользователь в спецификации запроса rspec, без устройства? - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть приложение Rails, которое имеет некоторую аутентификацию пользователя, которая создается без Devise (или какого-либо драгоценного камня в этом отношении).Он использует типичный session[:user_id] для отслеживания текущего пользователя.

Насколько я понимаю текущее состояние тестов контроллера, я считаю, что команда Rspec и Rails рекомендуют не использовать их.Это нормально, но я не вижу, как на самом деле войти как пользователь из спецификации запроса.Я сделал это с Devise без проблем, но Devise использует Warden и тому подобное.

Я пытался получить доступ к session из теста, но уровень абстракции в спецификации запроса, кажется, препятствует доступу

Как мне войти в систему из спецификации запроса?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы можете изменить сеанс перед запросом:

@request.session['user_id'] = '1'

Или добавить что-либо еще, что вам потребуется в сеансе для проверки вашего пользователя.

Или вымог бы создать вспомогательный метод, который фактически выполняет запрос, необходимый для входа в систему, что @ dhh рекомендует .

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...