Esto es lo que tengo:RSpec: cómo probar un método de ayuda que llama a un método de ayuda privada desde el controlador?
Un método de ayuda de aplicación que llama a un método de ayudante de controlador (privado) desde él.
Código:
ApplicationHelper:
def ordenar(coluna, titulo = nil)
titulo ||= coluna.titleize
css_class = (coluna == **coluna_ordenacao**) ? "#{**direcao_ordenacao**}" : "ordenavel"
direcao = (coluna == **coluna_ordenacao** and **direcao_ordenacao** == "asc") ? :desc : :asc
link_to titulo, {:sort => coluna, :direction => direcao}, {:class => css_class}
end
ApplicationController:
helper_method :coluna_ordenacao, :direcao_ordenacao
private
def coluna_ordenacao
return params[:sort] if params[:sort] and params[:sort].split(' ').size == 1
return :created_at
end
def direcao_ordenacao
return %w[asc desc].include?(params[:direction]) ? params[:direction] : :desc
end
Y aquí está el problema: El coluna_ordenacao
y direcao_ordenacao
métodos no pueden ser llamados desde RSpec me da lo siguiente debido al error:
undefined local variable or method `coluna_ordenacao' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x7fbf0a9fe3d8>
¿Hay alguna manera de que funcione? Por cierto estoy probando el ayudante, el controlador no
por favor su especificación –
puede haber propósito muestran: http://stackoverflow.com/ preguntas/2448063/how-do-you-test-a-rails-controller-method-exposed-as-a-helper-method – zetetic