Testear vistas con in-place editors de Hobo

Al intentar testear el comportamiento de los editores in-place de Hobo, me he encontrado que las acciones habituales de los tests no funcionaban: page.find(elemento).click y luego fill_in(elemento). Capybara no se estaba enterando de que el DOM había cambiado por una llamada Ajax y que el span original había sido sustituido por un formulario y un input type text :/

La solución: utilizar execute_script

page.execute_script('
  jQuery("elemento").trigger("click"); // Esto simula un clic en el elemento que hace que aparezca el formulario con el input
  jQuery("elemento").val("Contenido txatxi"); // Esto mete el dato en el input
')
page.find('body').click # Esto hace clic fuera del input y dispara la llamada Ajax de Hobo para actualizar el dato

Salud 😉

About Ibon

Me encanta salir a darme paseos, patinar, esquiar y jugar a baloncesto (alguna pachanga que otra en Larrabetzu los miércoles). Creo en los principios que fundamentan el Software Libre, y me parece una gran herramienta para conseguir una sociedad mas justa.
This entry was posted in Programación and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.