Pregunta

Estoy tratando de escribir algunas pruebas funcionales en mi aplicación Rails, y en el application_controller.rb tengo esto:

before_filter :current_account
def current_account
  @current_account ||= Account.find_by_subdomain!(request.subdomians.first)
end

Al ejecutar pruebas, request.subdomains no contiene los subdominios válidos que estoy buscando y hace que sea imposible ejecutar cualquier prueba funcional.

¿Es posible aplazar el método current_account o simular el objeto request.subdomains ?

¿Fue útil?

Solución

En tu prueba funcional deberías poder hacerlo (usando mocha):

@request.expects(:subdomains).returns(['www'])

Otros consejos

Para mí (y con Rails 2.3.4), la declaración correcta es

@controller.request.expects(:subdomains).returns(['www'])

ya que no puedo acceder a @request directamente.

@controller.instance_variable_set(:@request, OpenStruct.new({:subdomains => 'www'}))

puedes acceder a cualquier cosa en ruby ??:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top