Я пытаюсь протестировать класс (не контроллер), который использует Warden, но застрял на ошибке:
Authentication::SignIn wrong password
Failure/Error: if user = warden.authenticate(scope: :user)
RuntimeError:
Invalid strategy password
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:371:in `_fetch_strategy'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:355:in `block in _run_strategies_for'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:354:in `each'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:354:in `_run_strategies_for'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:324:in `_perform_authentication'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:105:in `authenticate'
Стоит заметить, что все отлично работает в браузере и в спецификации системы (функции),поэтому я предполагаю, что по какой-то причине стратегии не загружаются в мою спецификацию других автоматически.
Я также использую в своем тесте include Warden :: Test :: Mock, если это имеет значение.