Testando respostas em RJS

Como testar o render desta acao?

...
def minha_acao
novo_valor = params[:novo_valor]
render :update do |page|
page.replace_html "div_valor_total", novo_valor
end
end


Simples:

def test_minha_acao
get :minha_acao, :novo_valor => '100.00'
assert_match Regexp.new("Element.update('div_valor_total', '100.00');"), @response.body
end

Mas achei um plugin muito legal que ajuda a fazer esses tipos de festa. Vos apresento o ARTS – Another RJS Testing System de Kevin Clark.

Veja como ficaria o código do teste:

def test_minha_acao
get :minha_acao
assert_rjs :replace_html, :div_valor_total, '100.00'
end

Na minha opinião, bem melhor! :)

Para instalar o plugin:

  1. Ir até a raiz da pasta do projeto
  2. Executar: script/plugin discover
  3. Executar: script/plugin install arts

Maiores detalhes está no guia no próprio blog do Kevin!


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 602 other followers