Padrino – rspec – adicionando código dinâmico a todos os controladores durante o teste

Adicionamos um código que nos permite enviar parâmetros de simulação para ações do controlador por meio de testes Capybara para todos os controladores durante o teste, para que possamos simular o estado da sessão (usuário .eg sendo conectado).

Em Rails, você faz isso reabrindo ApplicationController em spec / spec helper.rb e adicionando um filtro before .

No Padrino, você pode fazer isso adicionando código personalizado ao app.rb em um bloco anterior – o bloco anterior é chamado para cada ação do controlador.

configure :test do
before
do
params.keys.each do |param|
if param =~ /^mock_/
mock_param
= param.gsub(/mock_/, '')
session
[ mock_param ] = params[ param ]
logger
.debug %{ #{mock_param} set to #{params[ param ]}}
end
end
end
end