Subbing Warden em testes de controlador
Estou tendo um problema ao testar meus controladores e usar o Warden.
Todos os exemplos apontam para stubbingrequest.env['warden']
. Isso causa problemas nos meus controladores quando ligo paraenv['warden']
, que retornanil
.
Para um exemplo bruto, usando o seguinte:
request.env['warden'] = double(Warden, :authenticate => nil,
:authenticate! => nil,
:authenticated? => false)
E um filtro simples simples como este:
before_filter do
redirect_to new_user_session_url unless env['warden'].authenticated?
end
Eu recebo umnil
.
Eu consegui fazê-lo funcionar usandocontroller.env['warden'] = ...
e funciona. Isso faz sentido, já que está bem no nível do controlador, então acho que minha pergunta é o que não funcionaria no que eu já vi todos os exemplo
Eu tenho isso no meuspec_helper
:
config.include Warden::Test::Helpers
Qualquer ajuda seria ótimo