Pregunta

Actualmente estoy tratando de escribir pruebas funcionales de una forma de carga que se carga a la página a través de AJAX (jQuery). Se carga la forma de la acción charge_form que devuelve la vista consult_form.js.erb.

Todo esto funciona, pero estoy teniendo problemas con mi prueba.

En lo funcional que pueda ir a la acción, pero no puedo usar assert_select encontrar un elemento y verificar que la forma es, de hecho, existe.

Error: 1) Failure: test_should_create_new_consult(ConsultsControllerTest) [/test/functional/consults_controller_test.rb:8]: Expected at least 1 element matching "h4", found 0. <false> is not true.

Esta es la vista. consult_form.js.erb:

<div id="charging_form">
 <h4>Charging form</h4>
 <div class="left" id="charge_selection">
  <%= select_tag("select_category", options_from_collection_for_select(@categories, :id, :name)) %><br/>
...

consults_controller_test.rb:

require 'test_helper'

class ConsultsControllerTest < ActionController::TestCase
 def test_should_create_new_consult
  get_with_user :charge_form, :animal_id => animals(:one), :id => consults(:one), :format => 'js'
  assert_response :success

  assert_select 'h4', "Charging form" #can't find h4
 end
end

¿Hay un problema con el uso assert_select con tipos distintos de html?

Gracias por cualquier ayuda!

¿Fue útil?

Solución

Por lo tanto, el problema era que debo poner en Javascript y HTML en Js .html:. Un poco obvio P

Me estaba poniendo html en un archivo JavaScript. Lo arreglé cambiando simplemente el nombre charge_form.js.erb a charge_form.html.erb.

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